JAVA下整形和String数组转换为列表

资料整理自网上,若有错误请及时通知博主。

JAVA下数组转换为列表

java的数组一般可以分为int数组和String数组。先看下面的例子:

    public static void main(String[] args) {
        List<String> al = new ArrayList<>();
        String[] nums = { "10", "20" };
        al = Arrays.asList(nums);
        for (int i = 0; i < al.size(); i++) {
            System.out.println(al.get(i));
        }
    }
运行结果是:
10
20

再看下面的一个例子:

    public static void main(String[] args) {
        List<int[]> al = new ArrayList<>();
        int[] nums = {10, 20};
        al = Arrays.asList(nums);
        for (int i = 0; i < al.size(); i++) {
            System.out.println(al.get(i));
        }
    }
运行结果是:
[I@15db9742

这里就会有一个疑问了,为什么当数组是整形的时候,返回的是一个看不懂的东西,而不是我们以为的“10”和“20”呢?

事实上,在第2个例子里面,那一个看不懂的东西是al对象的物理地址,如果此时我们想得到里面的元素,不妨可以使用下面的代码:

    public static void main(String[] args) {
        List<int[]> al = new ArrayList<>();
        int[] nums = {10, 20};
        al = Arrays.asList(nums);
        System.out.println(al.size());
        for (int i = 0; i < nums.length; i++) {
            System.out.println(al.get(0)[i]);
        }
    }
运行结果是:
1
10
20

首先我们用实际结果看下:al.get(index)到底输出的是什么,可以输出多少个变量?

我们打印出al对象的大小,是1,可见里面就一个量。这个量存储了这个列表的内存地址。这也是为什么后面使用al.get(0)的原因。

地址找到了,就可以跟操作数组的原理一样了,在后面加上索引就可以得到我们想要的元素了。

再看下面一个例子,如果我们想从整形数组转换为列表,然后再由这个列表转换为整形数组,该怎样操作呢?

    public static void main(String[] args) {
        List<int[]> al = new ArrayList<>();
        int[] nums = {10, 20};
        al = Arrays.asList(nums);
        int[] nums2 = al.get(0);
        for (int i = 0; i < nums2.length; i++) {
            System.out.println(nums2[i]);
        }
    }
输出结果是:
10
20 

原理和第2个例子一样。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值