java之可变参数_java 可变参数歧义

intsum=x;

for(inti=0;i<args.length;i++){

sum+= args[i];

}

returnsum;

}

public class Demo4 {

@Test

public void testSum(){

sum(1,2,3,4);

int arr[]={5,6,7};

sum(arr);

}

public void sum(int …nums){

//可变参数当成数组

int sum=0;

for(int i:nums){

sum+=i;

}

System.out.println(sum);

}

//可变参数注意的问题

//public void aa(int …nums,int s){}//不可以

//public void bb(int s ,int …nums)//可以

@Test

public void  bb(){

//public static List asList(T… a)

Listlist=Arrays.asList(“1”,“2”,“3”);

System.out.println(list);//[1,2, 3]

Stringarr[]={“1”,“2”,“3”,“4”};

list=Arrays.asList(arr);

System.out.println(list);//[1,2, 3, 4]

int nums[]={1,2,3,4,5};

list=Arrays.asList(nums);

System.out.println(list);//[[I@120d62b]

Integer nums2[]={1,2,3,4,5};

list=Arrays.asList(nums2);

System.out.println(list);//[1,2, 3, 4, 5]

}

}

2)Arrays.asList为例演示传入不同参数的情况(cehkongfu:18:50 2014/7/9)

代码演示1

// list长度为3

List list =Arrays.asList(“a”,“b”,“c”);

// list长度为1, 因为考虑1.4语法

String[] arr ={“a”,“b”,“c”};

List list = Arrays.asList(arr);

// 同时符合1.4和1.5的语法,此时会优先考虑1.4的语法

// 原因是有了新功能要保证以前的代码不出错,向后兼容

// 现在就需要将arr作为一个元素存入集合

Object obj = arr;

List list2 = Arrays.asList(obj);     // 此时只符合1.5的语法,不符合1.4的语法,没有歧义

List list3 = Arrays.asList(new Object[]{arr});        // 优先考虑1.4,所以数组会拆开

//System.out.println(list3.size());

// 基本数据类型

本文已被开源项目:【一线大厂面试真题解析+核心总结学习笔记+最新全套讲解视频+实战项目源码讲义】收录

数组只符合1.5的语法

int[] nums = {1,2,3};

结尾

正式学习前端大概 3 年多了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。

以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。

以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

前端学习书籍导图-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值