【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));
    }
}
相关推荐
qq_441996058 分钟前
Mybatis官方生成器使用示例
java·mybatis
巨大八爪鱼14 分钟前
XP系统下用mod_jk 1.2.40整合apache2.2.16和tomcat 6.0.29,让apache可以同时访问php和jsp页面
java·tomcat·apache·mod_jk
码上一元2 小时前
SpringBoot自动装配原理解析
java·spring boot·后端
计算机-秋大田2 小时前
基于微信小程序的养老院管理系统的设计与实现,LW+源码+讲解
java·spring boot·微信小程序·小程序·vue
魔道不误砍柴功4 小时前
简单叙述 Spring Boot 启动过程
java·数据库·spring boot
失落的香蕉4 小时前
C语言串讲-2之指针和结构体
java·c语言·开发语言
枫叶_v4 小时前
【SpringBoot】22 Txt、Csv文件的读取和写入
java·spring boot·后端
wclass-zhengge4 小时前
SpringCloud篇(配置中心 - Nacos)
java·spring·spring cloud
路在脚下@4 小时前
Springboot 的Servlet Web 应用、响应式 Web 应用(Reactive)以及非 Web 应用(None)的特点和适用场景
java·spring boot·servlet
黑马师兄4 小时前
SpringBoot
java·spring