我遇到以下行的问题,其中car一个String数组尚未初始化/没有元素.
String car [];
System.out.println(car.length);
Run Code Online (Sandbox Code Playgroud)
什么是可能的解决方案?
Joã*_*lva 52
既然car没有初始化,它没有长度,它的价值是null.但是,编译器甚至不允许您按原样编译该代码,抛出以下错误:变量car可能尚未初始化.
您需要先将其初始化,然后才能使用.length:
String car[] = new String[] { "BMW", "Bentley" };
System.out.println(car.length);
Run Code Online (Sandbox Code Playgroud)
如果需要初始化空数组,可以使用以下命令:
String car[] = new String[] { }; // or simply String car[] = { };
System.out.println(car.length);
Run Code Online (Sandbox Code Playgroud)
如果需要使用特定大小对其进行初始化,为了填充某些位置,您可以使用以下内容:
String car[] = new String[3]; // initialize a String[] with length 3
System.out.println(car.length); // 3
car[0] = "BMW";
System.out.println(car.length); // 3
Run Code Online (Sandbox Code Playgroud)
但是,List如果您打算向其中添加元素,我建议您改用它:
List<String> cars = new ArrayList<String>();
System.out.println(cars.size()); // 0
cars.add("BMW");
System.out.println(cars.size()); // 1
Run Code Online (Sandbox Code Playgroud)
好吧,在这种情况下,car变量将是null,因此取消引用它(就像你访问时一样car.length)将抛出一个NullPointerException.
实际上,在完全分配了一些值之前,你根本无法访问该变量- 否则编译器会抱怨"变量汽车可能尚未初始化".
你在这里尝试做什么(我不清楚你正在寻找什么"解决方案")?
| 归档时间: |
|
| 查看次数: |
312085 次 |
| 最近记录: |