【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));
    }
}
相关推荐
A尘埃几秒前
SpringBoot的数据访问
java·spring boot·后端
yang-23071 分钟前
端口冲突的解决方案以及SpringBoot自动检测可用端口demo
java·spring boot·后端
沉登c2 分钟前
幂等性接口实现
java·rpc
代码之光_198014 分钟前
SpringBoot校园资料分享平台:设计与实现
java·spring boot·后端
科技资讯早知道1 小时前
java计算机毕设课设—坦克大战游戏
java·开发语言·游戏·毕业设计·课程设计·毕设
小比卡丘2 小时前
C语言进阶版第17课—自定义类型:联合和枚举
android·java·c语言
xmh-sxh-13142 小时前
java 数据存储方式
java
liu_chunhai2 小时前
设计模式(3)builder
java·开发语言·设计模式
ya888g3 小时前
GESP C++四级样题卷
java·c++·算法
【D'accumulation】3 小时前
令牌主动失效机制范例(利用redis)注释分析
java·spring boot·redis·后端