一、 整数类型之间的转换
-
byte 转 short/int/long:
javabyte byteValue = 42; // byte 转 short short shortValue = byteValue; // byte 转 int int intValue = byteValue; // byte 转 long long longValue = byteValue;
-
short 转 byte/int/long:
javashort shortValue = 1000; // short 转 byte(注意可能溢出) byte byteValue = (byte) shortValue; // short 转 int int intValue = shortValue; // short 转 long long longValue = shortValue;
-
int 转 byte/short/long:
javaint intValue = 100000; // int 转 byte(注意可能溢出) byte byteValue = (byte) intValue; // int 转 short(注意可能溢出) short shortValue = (short) intValue; // int 转 long long longValue = intValue;
-
long 转 byte/short/int:
javalong longValue = 10000000000L; // long 转 byte(注意可能溢出) byte byteValue = (byte) longValue; // long 转 short(注意可能溢出) short shortValue = (short) longValue; // long 转 int(注意可能溢出) int intValue = (int) longValue;
二、 浮点数类型之间的转换
-
float 转 double:
javafloat floatValue = 3.14f; // float 转 double double doubleValue = floatValue;
-
double 转 float:
javadouble doubleValue = 3.14; // double 转 float(可能有精度损失) float floatValue = (float) doubleValue;
三、字符串和基本数据类型之间的转换
字符串转基本数据类型:
-
字符串转整数(int):
javaString str = "123"; // 字符串转整数 int intValue = Integer.parseInt(str);
-
字符串转长整数(long):
javaString str = "123456789"; // 字符串转长整数 long longValue = Long.parseLong(str);
-
字符串转浮点数(float):
javaString str = "3.14"; // 字符串转浮点数 float floatValue = Float.parseFloat(str);
-
字符串转双精度浮点数(double):
javaString str = "3.141592653"; // 字符串转双精度浮点数 double doubleValue = Double.parseDouble(str);
基本数据类型转字符串:
-
整数(int)转字符串:
javaint intValue = 123; // 整数转字符串 String str = Integer.toString(intValue);
-
长整数(long)转字符串:
javalong longValue = 123456789; // 长整数转字符串 String str = Long.toString(longValue);
-
浮点数(float)转字符串:
javafloat floatValue = 3.14f; // 浮点数转字符串 String str = Float.toString(floatValue);
-
双精度浮点数(double)转字符串:
javadouble doubleValue = 3.141592653; // 双精度浮点数转字符串 String str = Double.toString(doubleValue);
另外,还可以使用字符串拼接的方式将基本数据类型转为字符串,例如:
java
int intValue = 42;
String str = String.valueOf(intValue);
四、字符类型之间的转换
字符串转字符:
-
字符串转字符数组(char[]):
javaString str = "Hello"; // 字符串转字符数组 char[] charArray = str.toCharArray();
-
字符串中提取单个字符(charAt):
javaString str = "Hello"; // 提取字符串中的第一个字符 char firstChar = str.charAt(0);
字符转字符串:
-
字符数组转字符串:
javachar[] charArray = {'H', 'e', 'l', 'l', 'o'}; // 字符数组转字符串 String str = new String(charArray);
-
单个字符转字符串:
javachar singleChar = 'H'; // 单个字符转字符串 String str = Character.toString(singleChar);
字符与数字之间的转换:
-
字符转ASCII码值:
javachar ch = 'A'; // 字符转ASCII码值 int asciiValue = (int) ch;
-
ASCII码值转字符:
javaint asciiValue = 65; // ASCII码值转字符 char ch = (char) asciiValue;
五、日期类型之间的转换
java.util.Date
转 java.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.Date
转 java.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.LocalDate
转 java.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.LocalDateTime
转 java.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));
}
}