Еще одна вещь, которую надо сохранить, чтобы не проебалась. На этот раз никаких сопливых стишков, а только tips and trics. А конкретно, инициализация коллекции как массива.
You can create and initialize a new collection as an expression by using the "double-brace" syntax:
E.g.
private static final Set
VALID_CODES = new HashSet() {{
add("XZ13s");
add("AB21/X");
add("YYLEX");
add("AR2D");
}};
В результате, вместо:
Set validCodes = new HashSet();
validCodes.add("XZ13s");
validCodes.add("AB21/X");
validCodes.add("YYLEX");
validCodes.add("AR2D");
removeProductsWithCodeIn(validCodes);
Остается:
removeProductsWithCodeIn(new HashSet() {{
add("XZ13s");
add("AB21/X");
add("YYLEX");
add("AR5E");
}});
Ня^^
http://www.c2.com/cgi/wiki?DoubleBraceInitialization
Пысы: а еще можно написать метод, который будет создавать нужную коллекцию:
T populateCollection(Collection c, T... things) {
c.addAll(Arrays.asList(things));
return c;
}
Да, еще один совет, позволяющий reduce boilerplate.
http://www.c2.com/cgi/wiki?VarargsCollectionFactoryMethod