Re: [问题] 如何自订一个可以直接=的类别

楼主: JustinHere (良葛格)   2014-12-22 08:56:51
※ 引述《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);
作者: bleed1979 (十三)   2014-12-22 09:39:00
这边没有嘘文,又是良葛格,给推了。
作者: gpctv (gpctv)   2014-12-22 11:06:00
喔喔喔!!!推推推

Links booklink

Contact Us: admin [ a t ] ucptt.com