【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));
    }
}
相关推荐
最初的↘那颗心3 分钟前
Java HashMap深度解析:原理、实现与最佳实践
java·开发语言·面试·hashmap·八股文
小兔兔吃萝卜10 分钟前
Spring 创建 Bean 的 8 种主要方式
java·后端·spring
亲爱的马哥32 分钟前
重磅更新 | 填鸭表单TDuckX2.9发布!
java
Java中文社群33 分钟前
26届双非上岸记!快手之战~
java·后端·面试
whitepure38 分钟前
万字详解Java中的面向对象(二)——设计模式
java·设计模式
whitepure40 分钟前
万字详解Java中的面向对象(一)——设计原则
java·后端
2301_793086871 小时前
SpringCloud 02 服务治理 Nacos
java·spring boot·spring cloud
回家路上绕了弯1 小时前
MySQL 详细使用指南:从入门到精通
java·mysql
小七rrrrr1 小时前
动态规划法 - 53. 最大子数组和
java·算法·动态规划
自由的疯1 小时前
在 Java IDEA 中使用 DeepSeek 详解
java·后端·架构