簡體   English   中英

Java中普通類對象和包裝器類對象有什么區別

[英]What is the difference between a normal class object and a wrapper class object in java

通常,當我嘗試使用System.out.println();打印對象時System.out.println();

class Car {
    String color = "red";
}

class Main {
    public static void main(String[] args) {
        Car car = new Car();
        System.out.println(car);
    }
}

輸出類似於:

Car@677327b6

它的class name + '@' + hashCode 在內部,它正在調用toString()方法。 好像很好 但是當我實現自動裝箱如下時會發生什么:

class Main {
    public static void main(String[] args) {
        int i = 100;
        Integer obj = i;
        System.out.println(obj);
    }
}

這里的輸出是100 為什么它不像Main@hexcode 我以為我會將原始i轉換為Integer類型的對象。 請糾正我。

Class @ hashCode是Object.toString()的默認返回值。 Integer覆蓋toString()

 public String toString() 

返回表示此Integer值的String對象。 該值將轉換為帶符號的十進制表示形式,並以字符串形式返回,就像將整數值作為toString(int)方法的參數給出一樣。

覆寫:
Object toString

返回值:
以10為基數的此對象的值的字符串表示形式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM