基本数据类型double[]与List的转换

把double[]存入Json的准备工作

最近想将double[] 用json格式保存,发现json格式只能解析List<>,在二者转换过程中,掉进了List的陷阱,特总结如下,希望对你有帮助!

List<> ,double[ ], Double[ ]数据类型特性分析

1、List是对象的集合,可以存放以下类型的对象,例如List List List 等。
一开始我参照网上String[] 和List二者转换,编写double[]和List转换,报错。
教训:如果将double[]直接变成List,经多次测试,我发现都List中都只有一个值,因为此时整个数组作为一个元素存入了List。
原因:String字符串类型本身就是对象,而double只是基本数据类型,非对象,因此需要首先将double[]转换成Double[]。
2、Double和double傻傻分不清楚
Double类型是double的包装类。Double[] 每个元素都是一个对象,double[]整体作为一个对象,二者的转换需要调用包装类的函数。
double——Double二者转换

List转double[ ]

public double[] ListTodouble(List<Double> list){
    Double[] doubles=new Double[list.size()];
    list.toArray(doubles);
    if(doubles==null){
        return null;
    }
    double[] result=new double[doubles.length];
    for(int i=0;i<doubles.length;i++){
        result[i]=doubles[i].doubleValue();
    }
    return result;
}

double[ ] 转List

public List<Double> doubleToList(double[] arr_double){
    List<Double> list=new ArrayList<Double>();
    int num=arr_double.length;
    Double [] arr_Double=new Double[num];
    for(int i=0;i<num;i++){
        arr_Double[i]=arr_double[i];//double[]转Double[]
    }
    list=Arrays.asList(arr_Double);//Double[]转List
    return list; 
}

希望对你有帮助!
参考文章:https://blog.csdn.net/chenleixing/article/details/43775127

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值