【发布时间】:2015-11-01 14:36:23
【问题描述】:
一个新创建的ArrayList 没有添加任何元素,看起来就像一个添加了空字符串的ArrayList。
这让我觉得新创建的ArrayList 即使没有在其中添加任何元素,也有一个默认为空的string 或添加了元素。
package cracking;
import java.util.ArrayList;
public class Ask
{
public static void main(String[] args)
{
ArrayList<String> al = new ArrayList<String>();
System.out.println(al.size());//0
System.out.println(al);//[]
al.add("");
System.out.println(al.size());//1
System.out.println(al);//[]
}
}
但是,两种情况下ArrayList 的大小差异导致它们不一致,尤其是打印出来的两个ArrayList 看起来完全一样。
为了保持一致性,我觉得两种都可以:
- 刚刚创建的 ArrayList 的大小,即甚至之前
向其中添加任何元素应显示 1 暗示空字符串或
元素,因为即使添加到
ArrayList也会使其看起来相同。 - 不应允许打印出新创建的
ArrayList,它 应该只打印 NULL 或其他内容,而不是显示[]之类的 现在显示
【问题讨论】:
-
您实际上是在插入一个空的字符串对象。这将算作 ArrayList 中的一个条目,即使它在打印时没有显示为这样。请记住,空字符串与 NULL 不同。
标签: java arraylist data-structures whitespace