October 12th, 2010

nyaload

Java

Спешно обмазываюсь Java.

Вкратце про генерики, на русском - http://www.rsdn.ru/article/java/genericsinjava.xml

Наиболее понятная ( хоть и не полная ) диаграмма часто использующихся коллекций - http://dobrokot.ru/pics/tya2010-10-12__12-06-37_c0.jpg .
*TreeSet/TreeMap - сортированные, сделаны на красно-черном дереве.
*ArrayList - динамический массив.
*HashSet/HashMap - понятно из названия.
*LinkedHashMap/LinkedHashSet - запоминают порядок вставленных элементов.
*Vector, Hashtable - потокобезопасные, поэтому чуть тормозней, а так же устарели, вместо них - java.util.concurrent.*, более эффективные и с адекватным интерфейсом для многопоточности.
Более полный (и таки остающийся лаконичным) обзор - http://en.wikibooks.org/wiki/Java_Programming/Collection_Classes

Про @Annотации можно прочитать здесь и простой, но жизненный пример здесь.

Для сравнения строк надо использовать str1.equals(str2) и возможно проверить str1 на null o_O. '==' сравнивает ссылки на объекты в памяти.

Писать легко, читать написанное не очень, много строчек кода ни о чем. Геттеры, классы для пары интов с мнемоническим именем за километр от использования, толстая кожура анонимных классов с небольшим семечком унутре, ручной парсинг строк, импорты, XML-конфигурации, дерево папок проекта, цепочка объектов AbstractCreator.createManager(new XmlConfiguration(getXmlConfigurationFilename())).getExecutor().Execute() для одной операции, методы equals (напоминаю, мы читаем для дебага, а не автогенерим).
Что бы прочитать код, который складывает строки, надо или читать простыную кода со StringBuilder, или знать org.apache.commons (StringUtils), этакий С++ boost, только для Java.