java中String[]可不可以不预先定义数组的长度,随后边的使用而一点一点的开辟呢?
也就是定义的String[]的时候,我不知道需要多大的数组。。。怎么办?预先定义一个比较大的数组是不是有点浪费啊。。。...
也就是定义的String[]的时候,我不知道需要多大的数组。。。怎么办?预先定义一个比较大的数组是不是有点浪费啊。。。
展开
8个回答
展开全部
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]);
ArrayList会自动增加长度的,
而且很方便转化为数组String[] ary = list.toArray(new String[0]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组长度是定义的时候确定的,你要是 想用可以变化长度的数组,可以考虑
new List<String>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然你有这种长度可变的需求,为毛一定要用数组呢?
vector啊,list啊,set啊都可以满足你的需求嘛。
数组本身也是一个对象,这个对象的length是flnal的,也就是说创建之后不能改了。
vector啊,list啊,set啊都可以满足你的需求嘛。
数组本身也是一个对象,这个对象的length是flnal的,也就是说创建之后不能改了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询