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]吗
展开
 我来答
聚发稿网
2016-08-04 · 知道合伙人生活技巧行家
聚发稿网
知道合伙人生活技巧行家
采纳数:5647 获赞数:29663
聚发稿网创始人,作家,笔名志耘誉松著《机械魔敌》《笑泪恋曲》

向TA提问 私信TA
展开全部
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吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式