日期:2014-05-20  浏览次数:20675 次

这个程序的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));