我试图通过vector方法接受Java语言的输入。我尝试过这两种不同的方法,只是想知道它们之间的区别:
Vector v = new Vector();
v.addElement(new Integer(10));
VS
v.add(10);
答案 0 :(得分:2)
addElement
和add
是等效的,但返回类型不同。
但是,在您的情况下,由于您在一个案例中写new Integer(10)
而在另一个案例中写1
,整体行为会有所不同。
在前一种情况下,使用值10创建一个新的Integer
,并将对它的引用推送到容器上。
在后一种情况下,1将自动装箱到Integer
。但它的值恰好在 interned 整数(-128到+127)的范围内。因此,实际上没有创建新的Integer
,但是对其中一个实体整数的引用被推送到容器上。
答案 1 :(得分:0)
addElement()
和add()
之间的功能没有区别,只是add()
返回一个布尔值。
来自addElement()
的JavaDoc:
将指定的组件添加到此向量的末尾,将其大小增加1。如果该载体的大小大于其容量,则该载体的容量会增加 此方法的功能与
add(E)
方法(List
接口的一部分)相同。
关于add()
返回的布尔值,如果方法更改了集合,则在JavaDoc中将其定义为返回true。
换句话说,如果元素被添加到向量中,则返回true,否则返回false。