最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java直接輸出對象變成@.....的問題及解決

 更新時間:2023年09月29日 08:26:23   作者:看到我,請讓我去學(xué)習(xí)  
這篇文章主要介紹了Java直接輸出對象變成@.....的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Java直接輸出對象變成@.....問題

為什么我用System.out.println()輸出一個對象會變成@.......的 

例如 object.student@1d8d30f7

原因在此

(假設(shè)我的對象名是student s =new student ();)

1.以下代碼就是System.out.println(),中println,Java的底層代碼

 public void println(Object x) {
        String s = String.valueOf(x);

可以發(fā)現(xiàn)出現(xiàn)了個String.valueOf(x),這個x此時就等于s也就等于new student ()

2.valueOf(x)的底層源碼就是下圖

 public static String valueOf(Object obj) {
        return (obj == null) ? "null" : obj.toString();
    }

這個obj就等于=x=s=new student(),此時return (obj == null) ? "null" : obj.toString();

運用了三元運算符,因為obj不等于null,所以直接執(zhí)行了表達式三,也就是obj.toString()。

3.toString()的底層源碼是

public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

這個方法里面只有

return getClass().getName() + "@" + Integer.toHexString(hashCode());

所以在你的控制臺里面出現(xiàn)了   @.....什么的

至于為什么,是因為在繼承里面有個最終類也就是object,所有的類都直接或者間接繼承自object,你在你的類里面沒有寫toString,他就會默認執(zhí)行object里面的指定代碼

所以.....在你的類里面加個toString方法就好了 ,也就是在被實例化的那個類,在我這篇文章里面是student

解決辦法

.eclipse的快捷鍵是  shift+alt+s

在student里面  按下 shift+alt+s 倒數(shù)第四個,選擇需要的變量,點擊生成,像下圖一樣,然后就去執(zhí)行下main方法就好了

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

文水县| 抚远县| 大同市| 当雄县| 读书| 浙江省| 徐水县| 民县| 苍梧县| 女性| 睢宁县| 洪江市| 高淳县| 睢宁县| 开远市| 鹤庆县| 南昌市| 遵义县| 陇南市| 南昌市| 漯河市| 稻城县| 焉耆| 潜山县| 小金县| 昭觉县| 安龙县| 安岳县| 金川县| 吉林省| 钟祥市| 宕昌县| 丰都县| 高唐县| 陈巴尔虎旗| 平罗县| 奉化市| 固原市| 共和县| 霍山县| 大宁县|