JAVA常见的数据类型转换

目录

1、int类型与String类型之间的转换

        1.1 int 转 String

        1.2 String 转 int

2、数组与String类型之间 的转换

        2.1  数组 转 String

        2.2  String 转 数组

3、集合与String类型之间的转换

        3.1 集合 转 String

        3.2 String 转 集合

4、数组与集合之间的转换

        4.1  数组 转 集合

        4.2  集合 转 数组


1、int类型与String类型之间的转换

        1.1 int 转 String

 // int 转 String
    int i = 123;
    String s1 = "";
    s1 = String.valueOf(i);
    s1 = Integer.toString(i);
    s1 = "" + i;
 //PS: Double, Float, Long 转成字符串(String)的方法大同小异.

        1.2 String 转 int

 // String 转 int
    String s2 = "123";
    int i1;
    i1 = Integer.parseInt(s2);
    i1 = Integer.valueOf(s2).intValue();
//PS: 字符串(String)转成 Double, Float, Long 的方法大同小异.

2、数组与String类型之间 的转换

        2.1  数组 转 String

//数组 转 String类型
    String[] arr1 = { "0", "1", "2", "3", "4", "5" };
// 方法一: 遍历
    StringBuffer str5 = new StringBuffer();
    for (String s : arr1) {
        str5.append(s);
    }
    System.out.println(str5.toString()); // 012345

// 方法二: 使用StringUtils的join方法

//数组转字符串 PS:org.apache.commons.lang3.StringUtils (不要导错包啦!)
    String str3 = StringUtils.join(arr1); // 数组转字符串,其实使用的也是遍历
    System.out.println(str3); // 012345
    String str4 = StringUtils.join(arr1, ","); // 数组转字符串(逗号分隔)(推荐)
    System.out.println(str4); // 0,1,2,3,4,5


// 方法三: 使用ArrayUtils的toString方法

// 数组转字符串 org.apache.commons.lang3.ArrayUtils
    String str2 = ArrayUtils.toString(arr1, ","); // 数组转字符串(逗号分隔,首尾加大括号)
    System.out.println(str2); // {0,1,2,3,4,5}

        2.2  String 转 数组

 //String转数组
   String str_int = "1,2,3,4";
   String str_str = "zhao,qian,sun,li";
   String[] split = str_int.split(",");
 //再将String[]转为Integer[](不能是int,不然很多函数容易出问题!)
   Integer[] ints1 = new Integer[split.length];
   for (int i = 0; i < ints1.length; i++) {
         ints1[i] = Integer.parseInt(split[i]);
   }
 //PS:请注意,Arrays.asList(T[])传入的数组中的元素只能是类对象,不能是基础数据类型!
   System.out.println(Arrays.asList(ints1)); //[1, 2, 3, 4]

   List<String> list = Arrays.asList(str_str.split(","));
   System.out.println(list); // [zhao, qian, sun, li]

3、集合与String类型之间的转换

        3.1 集合 转 String

//ArrayList 转 String
    ArrayList list_int = new ArrayList<Integer>(); //Integer的List
    list_int.add(1);
    list_int.add(2);
    list_int.add(3);
    list_int.add(4);

    ArrayList<String> list_str = new ArrayList<String>(); //String的List
    list_str.add("zhaoqian");
    list_str.add("sunli");

    String toString = list_int.toString();  //ArrayList转换为String,带中括号的
    String substring = toString.substring(1, toString.length() - 1);//去除中括号。小心java的     substring是左闭右开的
    String result = substring.replaceAll("\\s", "");//去除所有的空字符
    System.out.println(result); // 1,2,3,4

    String str = String.join(",", list_str);//将list_str中的元素使用逗号连接
    System.out.println(str);//zhaoqian,sunli

        3.2 String 转 集合

// String 转 ArrayList
// 先转为数组,在转为List
    ArrayList arrayList = new ArrayList(Arrays.asList(str_int.split(",")));
    System.out.println(arrayList);  // [1, 2, 3, 4]

​

4、数组与集合之间的转换

        4.1  数组 转 集合

// 数组 转 集合
    Integer[] arr_int = {1,2,3,4};
    String[] arr_str = {"zhaoqian","sunli"};

    ArrayList list1 = new ArrayList(Arrays.asList(arr_int));
    System.out.println(list1); // [1, 2, 3, 4]

    ArrayList list2 = new ArrayList(Arrays.asList(arr_str));
    System.out.println(list2); // [zhaoqian, sunli]

// int数组 转 列表
    int[] intArr = {1, 2, 3};
    List<Integer> intList1 = Arrays.stream(intArr).boxed().collect(Collectors.toList());
    System.out.println(intList1); // [1, 2, 3]
//long数组 to 列表
    long[] longArr = {1L, 2L, 3L};
    List<Long> longList1 = Arrays.stream(longArr).boxed().collect(Collectors.toList());
    System.out.println(longList1); // [1, 2, 3]
//double数组 to 列表
    double[] doubleArr1 = {1d, 2d, 3d};
    List<Double> doubleList1 =      Arrays.stream(doubleArr1).boxed().collect(Collectors.toList());
    System.out.println(doubleList1); // [1.0, 2.0, 3.0]
//String数组 to 列表
    String[] arr3 = "1,2,3".split(",");

// list 不可编辑
    List<String> list3 = Arrays.asList(arr3);
    System.out.println(list3); // [1, 2, 3]

// arrayList  不可编辑
    ArrayList<String> arrayList1 = new ArrayList<String>(list3);
    System.out.println(arrayList1); // [1, 2, 3]

//字符串 切成 数组
    String[] arr = "1,2,3".split(",");

//Java8 Stream方式:字符串数组 to (Integer、Long、Double)列表
    List<Integer> intList = Arrays.stream(arr).map(Integer::valueOf).collect(toList());
    System.out.println(intList); // [1, 2, 3]
    List<Long> longList = Arrays.stream(arr).map(Long::valueOf).collect(toList());
    System.out.println(longList); // [1, 2, 3]
    List<Double> doubleList = Arrays.stream(arr).map(Double::valueOf).collect(toList());
    System.out.println(doubleList); //  [1.0, 2.0, 3.0]

        4.2  集合 转 数组

// 集合 转 数组
    Integer[] integers = new ArrayList<Integer>(list1).toArray(new Integer[0]);
    System.out.println(Arrays.toString(integers)); // [1, 2, 3, 4]

    Object[] objects = new ArrayList<String>(list2).toArray();
    System.out.println(Arrays.toString(objects)); // [zhaoqian, sunli]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值