It’s персональное предпочтение главным образом. Я чищу их сам (Resharper делает хорошее задание сообщения мне когда there’s ненужные операторы использования).
можно было сказать, что это могло бы уменьшить время для компиляции, но с компьютером и скоростями компилятора в эти дни это просто wouldn’t оказывает любое заметное влияние.
Я использую вторая SUBSTRING, потому что она более портативна.
Если кто-то пытается добавить объект указанного типа, например, в этом случае, пытается добавить String
к и Vector
, компиляция- возникнет ошибка времени, указывающая на то, что добавляется объект не ожидаемого типа.
Тем не менее, следует стараться не использовать класс Vector
. Для большего количества целей будет достаточно класса, реализующего List
, такого как ArrayList
из Java Collections Framework , и он будет работать лучше.
Edit
Хотя не имеющий прямого отношения к вопросу о дженериках, Адам Пэйнтер поднял хороший момент в комментариях об использовании автобокса.
Начиная с Java 5, примитивы и их классы-оболочки, например int
и Integer
будут автоматически преобразованы между собой по мере необходимости.
Таким образом, можно добавить значение, указанное как int
или int
литерал в класс, ожидающий Integer
:
Vector<Integer> v = new Vector<Integer>();
v.add(5); // Not necessary to use an Integer value.
Это не ошибка, это просто предупреждение компилятора. Вектор обычно параметризован, поэтому, чтобы избавиться от предупреждения, просто используйте дженерики:
Vector<Integer> moves = new Vector<Integer>();
moves.add(new Integer(x));
Если у вас нет другого выбора, кроме как использовать неуниверсальную структуру данных, вы можете поместить @SuppressWarnings ("unchecked")
в начало метода, чтобы отключить предупреждение.
Это можно сделать, только если у вас нет другого выбора, кроме как использовать неуниверсальный вектор. Обычно это происходит, когда вы работаете со старыми библиотеками или определенными частями библиотек времени выполнения Java.
инициализируйте свой вектор следующим образом
Vector move = new Vector ( );
Предпочтительно использовать java.util.ArrayList
- это замена Vector
Не имеет прямого отношения к коду, но рекомендуется использовать (начиная с версии> = 5) ):
Integer.valueOf(x);
вместо
new Integer(x);
Потому что некоторые целочисленные значения {-128, ..., 127) кэшируются и всегда будут возвращать один и тот же объект. Это очень полезно, особенно в отношении автобокса .