JAVA Arrays类 Arrays.fill的问题 10
publicclassArrays{publicstaticvoidmain(String[]args){//TODO自动生成的方法存根int[]list={2,4,7,...
public class Arrays {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[] list = {2,4,7,8,12,23,33};
java.util.Arrays.fill(list,1,5,7);
System.out.println(java.util.Arrays.toString(list));
}
}
为什么这样输出后是[2, 7, 7, 7, 7, 23, 33]?
既然是1到5 不应该是[2,7,7,7,7,7,33]吗 展开
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[] list = {2,4,7,8,12,23,33};
java.util.Arrays.fill(list,1,5,7);
System.out.println(java.util.Arrays.toString(list));
}
}
为什么这样输出后是[2, 7, 7, 7, 7, 23, 33]?
既然是1到5 不应该是[2,7,7,7,7,7,33]吗 展开
2个回答
2016-08-04 · 知道合伙人生活技巧行家
关注
展开全部
Arrays这个类作为一个数组的工具类来使用。里面大量的方法都是静态的,因此可以直接通过类名点出来。如:Arrays.sort(int[]);而实际上来说,由于Arrays这个类的用处多用于作为工具来用,而不会需要了解这个工具的toString方法,(事实上也无法调用,因为无法实例化)。我这里说的继承自object的toString方法。之所以他会有toString,完全是因为他本身继承自Object类,并非他自己写了toString(换句话说,不是他想要有这个toString,而是他必须要有这个toString,因为所以类都直接或间接继承了Object)但是,Arrays里面提供了大量的toString(args)即带参数的toString,这个方法也是静态的,但他不是继承自object的方法,而是Arrays自己的。这个方法的作用是输出一个数组。因为通常定义一个数组int[]a=new{1,3,5,6,9},然后system.out的时候他会输出的很莫名其妙。而不是人们想要看到的13569因此Arrays里的toString(int[])应运而生。int[]a=new{1,3,5,6,9};System.out.println(Arrays.toString(a));将会得到你想要的结果了
2016-08-03
展开全部
1~5 是指下标,5不是总数 。。。。。。。。。。。。。
追问
对 我知道 但下标1指的数是4 下标5指的数是23 不应该把下标一到下标五 就是4到23的数 就是 4 7 8 12 23 全变成7吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询