java中String[]可不可以不预先定义数组的长度,随后边的使用而一点一点的开辟呢?

2024-12-03 04:57:37
推荐回答(5个)
回答1:

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]);//报错
}
}

运行结果如下:

回答2:

不可以,java数组在new的时候必须确定长度,不能动态更改长度。

你的这种方式推荐用list,list不用关心长度,可以一直往里加。

例如:

List lst = new ArrayList();//定义一个list
lst.add("a");//往里加一个元素
lst.add("a1");//往里加一个元素
lst.add("a2");//往里加一个元素
不用预定义长度,可以随时往里加元素。

回答3:

不可以,语法就是这样规定的,你这样的需求最好用ArrayList,

ArrayList会自动增加长度的,

而且很方便转化为数组String[] ary = list.toArray(new String[0]);

回答4:

数组长度是定义的时候确定的,你要是 想用可以变化长度的数组,可以考虑

new List

回答5:

既然你有这种长度可变的需求,为毛一定要用数组呢?
vector啊,list啊,set啊都可以满足你的需求嘛。
数组本身也是一个对象,这个对象的length是flnal的,也就是说创建之后不能改了。