常用数据类型转换——BigDecimal,字符串,数组,List

BigDecimal与字符串相互转化

	String a = "1.23";
    BigDecimal b = new BigDecimal(a);
    System.out.println(b);

    BigDecimal c = new BigDecimal(4.56);
    c=c.setScale(2, BigDecimal.ROUND_HALF_UP);// 四舍五入保留两位小数
    String d = c.toString();
    System.out.println(d);
        
    BigDecimal e = new BigDecimal("7.89");
    String f = e.toString();
    System.out.println(f);

BigDecimal转换成String类型时,要注意,看Bigdecimal对象的生成方式,若是以new BIgDecimal(double)方式创建的,要考虑精度的问题,若直接调用toString方法,得到的值与double不一致。若是以new BIgDecimal(String)方式创建的,可不用转换,直接调用toString方法即可

数组与字符串相互转化

	// 字符串转数据
    String str1 = "0,1,2,3,4";
    String[] arr1 = str1.split(","); // 用“,”分割
    System.out.println(Arrays.toString(arr1));// 输出结果:[0,1,2,3,4]

    // 数组转字符串
    // 方法一
    String[] arr = {"0", "1", "2", "3", "4"};
    StringBuffer str2 = new StringBuffer();
    for (String s : arr) {
        str2.append(s);
    }
    System.out.println(str2.toString());// 输出结果:01234

    // 方法二
    String str3 = StringUtils.join(arr); // 数组转字符串,其实使用的也是遍历
    System.out.println(str3); // 输出结果:01234
    
    // 方法三
    String str4 = StringUtils.join(arr, ","); // 逗号分隔输出(推荐)
    System.out.println(str4); // 输出结果:0,1,2,3,4

一般推荐使用join方法实现转换,注意StringUtils的包是org.apache.commons.lang3.StringUtils;

数组与List相互转化

	// 数组转list
    String[] arr = {"hello","world"};
    List<String> list = Arrays.asList(arr);
    System.out.println(list);// 输出结果:[hello, world]

    // list转数组
    String[] str= list.toArray(new String[list.size()]);
    for (String s : str) {
        System.out.println(s);// 循环输出hello和world
    }

使用Arrays.asList(T… a)时注意两点:

  1. 对于存储基本数据类型的数组,直接使用Arrays.asList(T… a)是编译不过的
  2. 使用Arrays.asList(T… a)得到的list是数组的一个视图,其长度是固定不变的,即可修改值,但不能执行add和remove操作,否则执行时会报java.lang.UnsupportedOperationException异常
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值