【Java学习之路】你还在为数据类型之间的转化而烦恼吗?收藏这篇吧!

一、 整数类型之间的转换

  1. byte 转 short/int/long:

    java 复制代码
    byte byteValue = 42;
    ​
    // byte 转 short
    short shortValue = byteValue;
    ​
    // byte 转 int
    int intValue = byteValue;
    ​
    // byte 转 long
    long longValue = byteValue;
  2. short 转 byte/int/long:

    java 复制代码
    short shortValue = 1000;
    ​
    // short 转 byte(注意可能溢出)
    byte byteValue = (byte) shortValue;
    ​
    // short 转 int
    int intValue = shortValue;
    ​
    // short 转 long
    long longValue = shortValue;
  3. int 转 byte/short/long:

    java 复制代码
    int intValue = 100000;
    ​
    // int 转 byte(注意可能溢出)
    byte byteValue = (byte) intValue;
    ​
    // int 转 short(注意可能溢出)
    short shortValue = (short) intValue;
    ​
    // int 转 long
    long longValue = intValue;
  4. long 转 byte/short/int:

    java 复制代码
    long longValue = 10000000000L;
    ​
    // long 转 byte(注意可能溢出)
    byte byteValue = (byte) longValue;
    ​
    // long 转 short(注意可能溢出)
    short shortValue = (short) longValue;
    ​
    // long 转 int(注意可能溢出)
    int intValue = (int) longValue;

二、 浮点数类型之间的转换

  1. float 转 double:

    java 复制代码
    float floatValue = 3.14f;
    ​
    // float 转 double
    double doubleValue = floatValue;
  2. double 转 float:

    java 复制代码
    double doubleValue = 3.14;
    ​
    // double 转 float(可能有精度损失)
    float floatValue = (float) doubleValue;

三、字符串和基本数据类型之间的转换

字符串转基本数据类型:

  1. 字符串转整数(int):

    java 复制代码
    String str = "123";
    ​
    // 字符串转整数
    int intValue = Integer.parseInt(str);
  2. 字符串转长整数(long):

    java 复制代码
    String str = "123456789";
    ​
    // 字符串转长整数
    long longValue = Long.parseLong(str);
  3. 字符串转浮点数(float):

    java 复制代码
    String str = "3.14";
    ​
    // 字符串转浮点数
    float floatValue = Float.parseFloat(str);
  4. 字符串转双精度浮点数(double):

    java 复制代码
    String str = "3.141592653";
    ​
    // 字符串转双精度浮点数
    double doubleValue = Double.parseDouble(str);

基本数据类型转字符串

  1. 整数(int)转字符串:

    java 复制代码
    int intValue = 123;
    ​
    // 整数转字符串
    String str = Integer.toString(intValue);
  2. 长整数(long)转字符串:

    java 复制代码
    long longValue = 123456789;
    ​
    // 长整数转字符串
    String str = Long.toString(longValue);
  3. 浮点数(float)转字符串:

    java 复制代码
    float floatValue = 3.14f;
    ​
    // 浮点数转字符串
    String str = Float.toString(floatValue);
  4. 双精度浮点数(double)转字符串:

    java 复制代码
    double doubleValue = 3.141592653;
    ​
    // 双精度浮点数转字符串
    String str = Double.toString(doubleValue);

另外,还可以使用字符串拼接的方式将基本数据类型转为字符串,例如:

java 复制代码
int intValue = 42;
String str = String.valueOf(intValue);

四、字符类型之间的转换

字符串转字符:

  1. 字符串转字符数组(char[]):

    java 复制代码
    String str = "Hello";
    ​
    // 字符串转字符数组
    char[] charArray = str.toCharArray();
  2. 字符串中提取单个字符(charAt):

    java 复制代码
    String str = "Hello";
    ​
    // 提取字符串中的第一个字符
    char firstChar = str.charAt(0);

字符转字符串:

  1. 字符数组转字符串:

    java 复制代码
    char[] charArray = {'H', 'e', 'l', 'l', 'o'};
    ​
    // 字符数组转字符串
    String str = new String(charArray);
  2. 单个字符转字符串:

    java 复制代码
    char singleChar = 'H';
    ​
    // 单个字符转字符串
    String str = Character.toString(singleChar);

字符与数字之间的转换:

  1. 字符转ASCII码值:

    java 复制代码
    char ch = 'A';
    ​
    // 字符转ASCII码值
    int asciiValue = (int) ch;
  2. ASCII码值转字符:

    java 复制代码
    int asciiValue = 65;
    ​
    // ASCII码值转字符
    char ch = (char) asciiValue;

五、日期类型之间的转换

java.util.Datejava.time.LocalDate

java 复制代码
import java.util.Date;
import java.time.LocalDate;
import java.time.ZoneId;
​
public class DateConversion {
    public static void main(String[] args) {
        // 创建一个 java.util.Date 对象
        Date utilDate = new Date();
​
        // java.util.Date 转 java.time.LocalDate
        LocalDate localDate = utilDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        
        System.out.println("java.util.Date: " + utilDate);
        System.out.println("java.time.LocalDate: " + localDate);
    }
}

java.util.Datejava.time.LocalDateTime

java 复制代码
import java.util.Date;
import java.time.LocalDateTime;
import java.time.ZoneId;
​
public class DateConversion {
    public static void main(String[] args) {
        // 创建一个 java.util.Date 对象
        Date utilDate = new Date();
​
        // java.util.Date 转 java.time.LocalDateTime
        LocalDateTime localDateTime = utilDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
​
        System.out.println("java.util.Date: " + utilDate);
        System.out.println("java.time.LocalDateTime: " + localDateTime);
    }
}

java.time.LocalDatejava.util.Date

java 复制代码
import java.util.Date;
import java.time.LocalDate;
import java.time.ZoneId;
​
public class DateConversion {
    public static void main(String[] args) {
        // 创建一个 java.time.LocalDate 对象
        LocalDate localDate = LocalDate.now();
​
        // java.time.LocalDate 转 java.util.Date
        Date utilDate = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
​
        System.out.println("java.time.LocalDate: " + localDate);
        System.out.println("java.util.Date: " + utilDate);
    }
}

java.time.LocalDateTimejava.util.Date

java 复制代码
import java.util.Date;
import java.time.LocalDateTime;
import java.time.ZoneId;
​
public class DateConversion {
    public static void main(String[] args) {
        // 创建一个 java.time.LocalDateTime 对象
        LocalDateTime localDateTime = LocalDateTime.now();
​
        // java.time.LocalDateTime 转 java.util.Date
        Date utilDate = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
​
        System.out.println("java.time.LocalDateTime: " + localDateTime);
        System.out.println("java.util.Date: " + utilDate);
    }
}

六、数组和集合之间的转换

数组转 List

java 复制代码
import java.util.Arrays;
import java.util.List;
​
public class ArrayToCollection {
    public static void main(String[] args) {
        // 数组
        String[] array = {"apple", "banana", "orange"};
​
        // 数组转 List
        List<String> list = Arrays.asList(array);
​
        System.out.println("Array: " + Arrays.toString(array));
        System.out.println("List: " + list);
    }
}

数组转 Set

java 复制代码
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
​
public class ArrayToCollection {
    public static void main(String[] args) {
        // 数组
        String[] array = {"apple", "banana", "orange"};
​
        // 数组转 Set
        Set<String> set = new HashSet<>(Arrays.asList(array));
​
        System.out.println("Array: " + Arrays.toString(array));
        System.out.println("Set: " + set);
    }
}

List 转数组:

java 复制代码
import java.util.ArrayList;
import java.util.List;
​
public class CollectionToArray {
    public static void main(String[] args) {
        // List
        List<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
​
        // List 转数组
        String[] array = list.toArray(new String[0]);
​
        System.out.println("List: " + list);
        System.out.println("Array: " + Arrays.toString(array));
    }
}

Set 转数组:

java 复制代码
import java.util.HashSet;
import java.util.Set;
​
public class CollectionToArray {
    public static void main(String[] args) {
        // Set
        Set<String> set = new HashSet<>();
        set.add("apple");
        set.add("banana");
        set.add("orange");
​
        // Set 转数组
        String[] array = set.toArray(new String[0]);
​
        System.out.println("Set: " + set);
        System.out.println("Array: " + Arrays.toString(array));
    }
}
相关推荐
zjw_rp23 分钟前
Spring-AOP
java·后端·spring·spring-aop
Oneforlove_twoforjob36 分钟前
【Java基础面试题033】Java泛型的作用是什么?
java·开发语言
TodoCoder44 分钟前
【编程思想】CopyOnWrite是如何解决高并发场景中的读写瓶颈?
java·后端·面试
向宇it1 小时前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类
java·开发语言·unity·c#·游戏引擎
小蜗牛慢慢爬行1 小时前
Hibernate、JPA、Spring DATA JPA、Hibernate 代理和架构
java·架构·hibernate
星河梦瑾2 小时前
SpringBoot相关漏洞学习资料
java·经验分享·spring boot·安全
黄名富2 小时前
Redis 附加功能(二)— 自动过期、流水线与事务及Lua脚本
java·数据库·redis·lua
love静思冥想2 小时前
JMeter 使用详解
java·jmeter
言、雲2 小时前
从tryLock()源码来出发,解析Redisson的重试机制和看门狗机制
java·开发语言·数据库
TT哇2 小时前
【数据结构练习题】链表与LinkedList
java·数据结构·链表