java 各种类型转换

public class TypeConversion {
    public static void main(String[] args) throws ParseException {
        // 1.将字符串转换为字符数组
        String str = "Manaphy";
        char[] charArray = str.toCharArray();
        System.out.println(Arrays.toString(charArray)); // [M, a, n, a, p, h, y]
        // 2.将字符数组转换为字符串
        str = new String(charArray);
        System.out.println(str); // Manaphy
        // 3.将字符串转换为byte数组
        byte[] bytes = str.getBytes(); // 以默认编码转换
//		bytes = str.getBytes("GBK"); // 以GBK编码转换
        System.out.println(Arrays.toString(bytes)); // [77, 97, 110, 97, 112, 104, 121]
        // 4.将byte数组转换为字符串
        str = new String(bytes);
        System.out.println(str); // Manaphy
        // 5.把其他类型数据转换为字符串
        int i = 123;
        String txt = "" + i; // 字符串与基本类型数据连接
        txt = String.valueOf(i); // 转换基本数据类型

        // 6.String、int、Integer的互相转换
        // int转Integer
        Integer integer1 = new Integer(10);
        Integer integer2 = Integer.valueOf(10); // 官方推荐这种写法
        Integer integer3 = 10; // 自动装箱
        // String转Integer
        Integer integer4 = Integer.valueOf("10");
        // Integer转int
        int int1 = integer1.intValue();
        int int2 = integer3; // 自动拆箱
        // int转String
        String str2 = String.valueOf(int1);
        String str3 = Integer.toString(int2);
        // String转int
        int int3 = Integer.parseInt(str2);
        // Integer转String
        String str4 = integer1.toString();

        // 7.String转换成BigDecimal
        BigDecimal bd = new BigDecimal(str2);
        // 8.String转化成Date
        String strDate = "2019-04-13";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        // 将String转化为util.Date
        java.util.Date utilDate = sdf.parse(strDate);
        // 将String转化为sql.Date
        java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

        // 9.List,Set,数组之间的转换
        String[] arr = new String[]{"A", "B", "C"};
        // 数组转List
        List<String> list = Arrays.asList(arr);//长度固定不变
        List<String> list1 = new ArrayList<>(Arrays.asList(arr));//长度可变
        // List转Set
        Set<String> set = new HashSet<>(list);
        // Set转List
        List<String> list2 = new ArrayList<>(set);
        // 数组转Set-->利用数组转List再转Set
        Set<String> set1 = new HashSet<>(Arrays.asList(arr));
        // List转数组
        Object[] array = list.toArray();
        // Set转数组
        Object[] arraySet = set.toArray();

        // 10.Date与LocalDateTime的转换 (需要使用Instant中转)
        Date date = new Date();
        // Date转Instant
        Instant instant = Instant.ofEpochMilli(date.getTime());
        Instant instant1 = date.toInstant();
        // Instant转Date
        Date date1 = Date.from(instant);

        // Instant转LocalDateTime
        LocalDateTime localDateTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();
        // LocalDateTime转Instant
        Instant instant2 = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
    }
}

  

posted @ 2020-10-05 15:22  左手编程右手诗  阅读(462)  评论(0编辑  收藏  举报