android开发中,定义数组,能不能不指定大小? 我输入int i[]; i[0]=1;编译不出错,运行出错。
2个回答
展开全部
肯定是可以的,不过你这个描述有点问题,你是指的指定数组大小还是数组里面元素的大小?这两种都是可以的,不过数组的声明需要new一下,int[] i=new int[];
你表达的是指定里面第一个位置上的元素等于1,运行出错是报的什么错?LogCat里面的信息是什么?
你表达的是指定里面第一个位置上的元素等于1,运行出错是报的什么错?LogCat里面的信息是什么?
更多追问追答
追问
是这样的,我在定义数组的时候不想指定数组大小,因为数组的内容和长度要通过上位机指定,如果初始化太大就造成浪费。代码:
public int typeNum;
public String typeName [][];
……
typeNum=8;//假设获得typeNum的值
typeName=new String [typeNum][0];
for (int i=0;i<typeNum;i++)
{
typeName[i][0]="分类"+String.valueOf(i);
}
运行错误如图所示,public String typeName[][] =new String[20][1];就正常
追答
我试了一下,报的是数组越界的错误, 你的typeName=new String [typeNum][0]这一句有问题,你指定第二个值是0的话是不行的,它会有一个位置来存结束符,所以必须第二个值有一个长度,否则会越界
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询