Array.asList的使用方法

总结:

1. 把一般数组用Array.asList转为List

2. 转为的List更新时,原来的数组也会跟着更新

3. 基本类型数组转为的List更新时,会报错,而对象类型的不会

<span style="font-size:14px;">package testJava;

import sun.plugin.javascript.navig.Array;

import java.util.Arrays;
import java.util.List;

/**
 * Created by cfxd000 on 2016/10/25.
 */
public class testAsList {
    public static void main(String[] args) {

        int[] a_int = {1, 2, 3, 4};
        List a_list = Arrays.asList(a_int);
        /* 预期输出应该是1,2,3,4,但实际上输出的仅仅是一个引用, 这里它把a_int当成了一个元素 */
        for (Object obj : a_list) {
            System.out.println(obj);
        }
        /*因为数组和列表链接在一起,所有要获取出来才能用*/
        int[] a_list_obj = (int[]) a_list.get(0);
        for (Object obj : a_list_obj){
            System.out.println(obj);
        }



        /*如果传进去的是对象,能直接使用*/
        Integer[] b_Integer = new Integer[] { 1, 2, 3, 4 };
        List b_list = Arrays.asList(b_Integer);
        for (Object obj:b_list) {
            System.out.println("blist="+obj);
        }
        /*例子2,传进的是user对象*/
        User[] b_Users = new User[]{new User(1),new User(2),new User(3),new User(4)};
        List b_Ulist = Arrays.asList(b_Users);
        for (Object obj:b_Ulist) {
            User temp = (User) obj;
            System.out.println(temp.getId());
        }



        /*当更新数组或者asList之后的List,另一个将自动获得更新,
         *但是基本类型数组aslist之后不能的值,不能更新,否则会报错
         */
        a_int[0] = 999;
        System.out.println("a_list更新后:"+a_int[0]);
        for (Object obj : a_list_obj){
            System.out.println(obj);
        }
        b_Integer[0] = 222;
        System.out.println("b_Integer更新后:"+b_Integer[0]);
        for (Object obj : b_Integer){
            System.out.println(obj);
        }
        b_list.set(0,123);
        System.out.println("b_Integer更新后:"+b_Integer[0]);
        for (Object obj : b_Integer){
            System.out.println(obj);
        }
    }
}

class User{
    private int id;

    public User(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}</span>


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值