作者JustinHere (良葛格)
看板java
标题Re: [问题] 如何自订一个可以直接=的类别
时间Mon Dec 22 08:56:51 2014
※ 引述《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://webptt.com/cn.aspx?n=bbs/java/M.1419209813.A.C49.html
1F:推 bleed1979: 这边没有嘘文,又是良葛格,给推了。 12/22 09:39
2F:推 gpctv: 喔喔喔!!!推推推 12/22 11:06