基本資料型別 和 包裝類 的相互轉換
阿新 • • 發佈:2021-11-03
基本資料型別 和 包裝類 的相互轉換
基本資料型別 和 包裝類 的相互轉換
Java中, 一切皆物件
Linux中, 一切皆檔案
要體會, 這種思想, 有時候, 真的是需要體會
1, java提供了8種基本資料型別 對應的 包裝類, 使得 基本資料型別的變數 具有 類的特徵
2, 掌握 基本資料型別, 包裝類, String三者之間的相互轉換
基本資料型別 | 包裝類 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
1. 基本資料型別 --> 包裝類
https://www.bilibili.com/video/BV1Kb411W75N?p=304
https://www.bilibili.com/video/BV1Kb411W75N?p=305
package com.beyondx.java; import org.junit.Test; public class WrapperTest { @Test public void test1() { int num1 = 10; Integer in1 = new Integer(num1); System.out.println(in1.toString()); // 10 Integer in2 = new Integer("123"); System.out.println(in2.toString()); // 123 } }
java.lang.Integer部分原始碼
public final class Integer extends Number implements Comparable<Integer> {
// 內部類
private static class IntegerCache {
}
// 2個構造器, 安排
public Integer(int value) {
}
public Integer(String s) throws NumberFormatException {
}
}
java.lang.Float部分原始碼
public final class Float extends Number implements Comparable<Float> {
// 3個構造器, 安排
public Float(float value) {
}
public Float(double value) {
}
public Float(String s) {
}
}
java.lang.Boolean部分原始碼
public final class Boolean implements java.io.Serializable, Comparable<Boolean> {
// 2個構造器, 安排
public Boolean(boolean value) {
}
public Boolean(String s) {
}
}
2. 包裝類 --> 基本資料型別
https://www.bilibili.com/video/BV1Kb411W75N?p=306
包裝類 轉化為 基本資料型別: 呼叫包裝類 的 xxxValue()
package com.beyondx.java;
import org.junit.test;
public class WrapperTest {
@Test
public void test2() {
Integer in1 = new Integer(12);
int i1 = in1.intValue();
System.out.println(i1 + 1);
Float f1 = new Float(12.3);
float f2 = f1.floatValue();
System.out.println(f2 + 1);
}
}
java.lang.Integer部分原始碼
public final class Integer extends Number implements Comparable<Integer> {
// 內部類
private static class IntegerCache {
}
// 2個構造器
public Integer(int value) {
}
public Integer(String s) throws NumberFormatException {
}
// 幾個方法
public byte byteValue() {
}
public int intValue() {
}
public long longValue() {
}
public float floatValue() {
}
public double doubleValue() {
}
}
參考連結
https://blog.csdn.net/weixin_38361153/article/details/88218744