Благодаря type erasure, виртуальная машина не знает, что во время выполнения у вас есть Vector
из String
. Лучшее, что он может сделать, это создать «сырой» вектор. Он не может гарантировать, что все Vector
s действительно содержат String
s. Вот почему вы получаете предупреждение от своей IDE.
Один из способов обойти это, он бросил его, как предлагает jgubby. Другой - поставить List
в ваш Vector
s, а не массив.
Но, что еще более важно, почему массив может иметь только 3 элемента? Не было бы лучше создать класс с тремя полями для ввода в ваш Vector
? С тремя элементами это не так много, и вы получаете дополнительный бонус, который вы можете дать каждому из трех элементов полезному имени, что должно сделать ваш код намного понятнее.
Кроме того, поскольку Java 6, существует ряд полезных новых синхронизированных List
реализаций, которые могли бы работать лучше, чем Vector
, таких как CopyOnWriteArrayList
или обернуть регулярные List
в Collections.synchronizedList
.
Что такое вектор строк? – Mnementh
Является ли вектор устаревшим? – Tom
P.S. Вместо этого используйте ArrayList !!! – jjnguy