2016-02-05 2 views
0

Я попытался принять входные данные в языке Java через векторный метод. Я пробовал эти два различных метода и просто хочу знать разницу между:о принятии ввода в вектор в Java

Vector v = new Vector(); 

v.addElement(new Integer(10)); 

против

v.add(10); 
+2

Вы читали JavaDoc? Я предполагаю, что нет, поскольку он явно указывает на 'addElement()': «Этот метод идентичен по функциональности методу add (E) (который является частью интерфейса List)». – Thomas

+0

Кроме того, существует несколько отличий, главным из которых является то, что первый добавляет номер 10, в то время как последний добавляет 1. – Thomas

+0

https://docs.oracle.com/javase/7/docs/api/java/util/ Vector.html # addElement (E) –

ответ

2

addElement и add эквивалентны, хотя возвращаемые типы различаются.

Однако в вашем случае общего поведения будет отличаться из-за ваше письмо new Integer(10) в одном случае и 1 в другом случае.

В первом случае создается новый Integer со значением 10 и ссылка на него нажимается на контейнер.

В последнем случае 1 будет автоматически упакован на Integer. Но его значение просто находится в диапазоне интернированных целых чисел (от -128 до +127). Таким образом, новый Integer не создан, но ссылка на один из интернированных целых чисел помещается в контейнер.

0

Нет никакой разницы в функции между addElement() и add(), за исключением того, что add() возвращает логическое значение.

Из JavaDoc для addElement():

Добавляет указанный компонент к концу этого вектора, увеличивая его размер на единицу. Емкость этого вектора увеличивается, если его размер становится больше его емкости.
Этот метод идентичен по функциональности методу add(E) (который является частью интерфейса List).


В связи с булево, который возвращается add(), это определено в JavaDoc, как возвращает истину, если коллекция была изменена методом.
Иными словами, это возвращает true, если элемент был добавлен к вектору, а false в противном случае.

Смежные вопросы