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

也就是定义的String[]的时候,我不知道需要多大的数组。。。怎么办?预先定义一个比较大的数组是不是有点浪费啊。。。... 也就是定义的String[]的时候,我不知道需要多大的数组。。。怎么办?预先定义一个比较大的数组是不是有点浪费啊。。。 展开
 我来答
小傻

推荐于2017-09-13 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31133
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

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

运行结果如下:

woshidaniel
2015-10-17 · TA获得超过9241个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:936万
展开全部

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

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

例如:

List lst = new ArrayList();//定义一个list
lst.add("a");//往里加一个元素
lst.add("a1");//往里加一个元素
lst.add("a2");//往里加一个元素
不用预定义长度,可以随时往里加元素。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2012-03-13 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
不可以,语法就是这样规定的,你这样的需求最好用ArrayList,

ArrayList会自动增加长度的,

而且很方便转化为数组String[] ary = list.toArray(new String[0]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑洞永恒的黑暗
2015-09-23 · 超过12用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:8.8万
展开全部

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

new List<String>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
harkeney
2012-03-13 · TA获得超过893个赞
知道小有建树答主
回答量:875
采纳率:0%
帮助的人:612万
展开全部
既然你有这种长度可变的需求,为毛一定要用数组呢?
vector啊,list啊,set啊都可以满足你的需求嘛。
数组本身也是一个对象,这个对象的length是flnal的,也就是说创建之后不能改了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式