【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));
    }
}
相关推荐
小咕聊编程7 分钟前
【含文档+源码】基于SpringBoot的过滤协同算法之网上服装商城设计与实现
java·spring boot·后端
Zz_waiting.8 分钟前
Spring 原理
java·spring·spring自动管理
瓯雅爱分享4 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
mit6.8246 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
诸神缄默不语7 小时前
Maven用户设置文件(settings.xml)配置指南
xml·java·maven
任子菲阳7 小时前
学Java第三十四天-----抽象类和抽象方法
java·开发语言
学Linux的语莫7 小时前
机器学习数据处理
java·算法·机器学习
找不到、了7 小时前
JVM的即时编译JIT的介绍
java·jvm
西瓜er8 小时前
JAVA:Spring Boot 集成 FFmpeg 实现多媒体处理
java·spring boot·ffmpeg
你总是一副不开心的样子(´ . .̫ .8 小时前
一、十天速通Java面试(第三天)
java·面试·职场和发展·java面试