Re: [問題] 如何自訂一個可以直接=的類別

看板java作者 (良葛格)時間10年前 (2014/12/22 08:56), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《AlphaCall (阿伐扣)》之銘言: : 話說我找了好多文章, 但好像沒看過有人在講這個 : 可能這問題真的太蠢了所以沒人會去討論 Orz : 我想問的是, 像int, float, 都是可以直接把原始資料 : 用 int a = 1; 的方式下去宣告或執行的 : 但是 Integer 是屬於一個類別, 但他也可以 Integer a =1; : 有看到相關的說法是說 在編譯的時候 : Integer a = 1; 編譯器會把他變成 Integer a = Integer.valueOf(1) : 那有沒有可能我也可以自訂一個例如 MyClass 的類別 : 然後他也可以達成 MyClass a = 1; 這樣呢? : 謝謝各位前輩. autobox、unbox 已經告訴你,那是編譯器幫你換成 Integer.valueOf,然後 你可以用 sugar 語法寫… 也就是說,在沒有 sugar 可用之下,你也可以寫個 MyClass.from 或 MyClass.valueOf 、MyClass.of,名稱隨便你取,例如: MyClass a = MyClass.of(1); 配合 static import 就可以短些… MyClass a = of(1); 這也是程式庫的常見做法…例如 Optional.. Optional option = Optional.of(something); -- 良葛格學習筆記 http://openhome.cc -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.29.47 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1419209813.A.C49.html

12/22 09:39, , 1F
這邊沒有噓文,又是良葛格,給推了。
12/22 09:39, 1F

12/22 11:06, , 2F
喔喔喔!!!推推推
12/22 11:06, 2F
文章代碼(AID): #1KbsnLn9 (java)
文章代碼(AID): #1KbsnLn9 (java)