这个程序的String[] a为什么有错?
import java.util.*;
public class Test
{
public static void main(String [] args)
{
List<String> staff = new LinkedList<String>();
staff.add("abc");
staff.add("efg");
staff.add("eee");
staff.add("rst");
System.out.println(staff);
String a[];
staff.toArray(a);
System.out.println(a);
}
}
错误提示为
Test.java:16: 错误: 可能尚未初始化变量a
staff.toArray(a);
另外,这个程序如果用Object[] toArray()怎么用?
------解决方案--------------------String a[]相当于是String[] a;此时a为Null,是不能对其进行操作的。你需要赋值或者String a[] = new String[x];
------解决方案--------------------1L说的对
String a[]; 改为 String a[] = new String[staff.size()];
------解决方案--------------------用之前先初始化数组
Object用法一样
------解决方案--------------------[Ljava.lang.String;@3bc257 这个不是乱码,是数组a的地址。
------解决方案--------------------println
public void println(Object x)打印 Object,然后终止该行。此方法首先调用 String.valueOf(x) 获取打印对象的字符串值,然后的行为如同先调用 print(String) 再调用 println() 一样。
System.out.println(a); 先将a 取String.valueOf(a) 再输出
楼主可以试试
System.out.println(a);
System.out.println(String.valueOf(a));