?

Log in

No account? Create an account
Previous Entry Share Next Entry
Ох, уж эта Java...
Белка
lerm_ru
Иногда забавные ошибки выскакивают при наборе...
Вот кусочек кода:
 
        Iterator it = nodes.iterator(); 
        StringBuffer sb = new StringBuffer(','); 
        while (it.hasNext()) 
        { 
            String nodeName = (String) it.next(); 
            sb.append(nodeName).append(','); 
        } 
        String list = sb.toString();
Предполагалось, что он составляет строку в виде ",node1,node2,...,nodeN,". Однако, если присмотреться к коду внимательнее, то видно, что получится такая строка: "node1,node2,...,nodeN,"

Проблема заключается в том, что у StringBuffer-а нет конструктора, который принимает char. Зато есть конструктор, который принимает int. Вбитая на автомате запятая в одинарных кавычках воспринимается компилятором как число.
Tags:

  • 1
А вот в нашем perl'e всё проще и изящнее.
Там это всё - в одну строчку: $list = join ',', '', @nodes, '';

  • 1