关于Java中String的几个疑问

时间:2011-11-12 11:29:42

标签: java string

  1. 有什么区别:String a[]List<String> a
  2. String a[]是否正确?或者为了定义字符串数组,我们应该始终使用String[] a
  3. 当我们声明String[] a时,我们是否需要始终初始化它?

  4. 假设我这样做:

    String[] a = new String[5];
    a[2] = "Hello";
    a[3] = "World";
    a[2] = "Good Bye";
    

    由于数组连续存储在内存中,当我修改字符串时,会创建新的字符串对象。对于所有上述语句,如何在Java中存储和修改所有这些字符串?

1 个答案:

答案 0 :(得分:2)

  1. String a[]String的本机Java数组。 List a是原始(无类型)List(请参阅The Java Collections)。您可能需要通用版本:List<String> a。这里列出的差异太大了;你应该关注这个链接!
  2. String a[]String[] a相同。不过,String[] a是惯例。
  3. String[] a实际上是一个参考。如果它是非局部变量,如果您没有明确初始化它,它将被隐式初始化为null。您通常希望执行String[] a = new String[10];
  4. 之类的操作
  5. 数组的每个元素都是对String的引用;基础数据本身不存储在数组中。