java string[]字符串数组不可以不预先定义数组的长度,否则会报错如下代码:
package com.qiu.lin.he;
public class Ceshi {
public static void main(String[] args) {
String[] str = new String[] {};// 事先没有定义长度
System.out.println(str);// 可以输出内存地址,没有报错
str[0] = "测试";
System.out.println(str[0]);//报错
}
}
运行结果如下:
不可以,java数组在new的时候必须确定长度,不能动态更改长度。
你的这种方式推荐用list,list不用关心长度,可以一直往里加。
例如:
List lst = new ArrayList();//定义一个list
lst.add("a");//往里加一个元素
lst.add("a1");//往里加一个元素
lst.add("a2");//往里加一个元素
不用预定义长度,可以随时往里加元素。
不可以,语法就是这样规定的,你这样的需求最好用ArrayList,
ArrayList会自动增加长度的,
而且很方便转化为数组String[] ary = list.toArray(new String[0]);
数组长度是定义的时候确定的,你要是 想用可以变化长度的数组,可以考虑
new List
既然你有这种长度可变的需求,为毛一定要用数组呢?
vector啊,list啊,set啊都可以满足你的需求嘛。
数组本身也是一个对象,这个对象的length是flnal的,也就是说创建之后不能改了。