最近一直有这个疑问,百度也搜了,找不到满意的答案,所以来问问神通广大的 V 友们
1
HongJay May 21, 2019
基本类型吧
|
2
lofbat May 21, 2019 via iPhone
个人觉得对象类型更灵活,看下面有没有高见
|
3
NeinChn May 21, 2019 如果不需要区分 0 和 null,那就基本类型
不然就统一用包装类型 |
4
BCy66drFCvk1Ou87 May 21, 2019
包装类吧,能涵盖返回为 null 的情况
|
5
cxtrinityy May 21, 2019 via Android 这难道不是看需要的么?一般返回基本类型就够了,毕竟只要一个值,创建对象也是要开销的
|
6
ohyeahhh OP 个人感觉是不是 如果方法返回值可能会做比较时用包装类型,如果只是单纯的用一下,就直接用基本类型就可以了
|
7
lhx2008 May 21, 2019 如果有可能返回 null,用 Optional 包装
如果不会返回 null,用基本类型就行,向标准库看齐 |
8
Luckyray May 21, 2019 包装类,不然会有默认值的问题。
|
10
Takamine May 21, 2019
看业务吧,但是推荐包装类,对于具体的返回 NPE 等给调用者去保证。
|
11
szq8014 May 21, 2019
取决于习惯吧,我个人是用基本类型的
|
13
bxb100 May 21, 2019 via Android
你想优化的话就用基本类型,一般使用包装类型
|
14
reeco May 21, 2019 via Android
全部用包装类型
|
15
zisway May 21, 2019
对外接口返回值用包装类型,内部私有的基本类型就可以了。
|
16
micean May 21, 2019
基本类型能显著的告诉调用者不必做非空检查,如果有这个必要的话
否则以减少拆装包为优先 |
17
ChanKc May 21, 2019
Effective Java Item 61: Prefer primitive types to boxed primitives
包装类型效率低而且容易产生 NPE,实际上就是把 NPE 甩锅给调用者。负责任的程序员都会用基本类型,即便用包装类型也应该写好 javadoc。 |
18
zxcjqyy May 21, 2019
看情况灵活应用呀
|
19
johnniang May 21, 2019 via Android
如果有业务需求,建议用 Optional<Type>;
如果很纯粹,那就返回基本类型即可。 |
20
rockyou12 May 21, 2019
能用基本类型绝不要用包装类,我清楚很多用包装类型是应为数据库默认值一般为 null。但用包装类型生产环境的空指针异常会让你想死(特别是 java 的自动装箱、拆箱,你写的时候根本不会考虑数据是不是 null 的)。这点 kotlin 有?来保证安全,真的好太多
|
21
nkduqi May 21, 2019
如果是对外的接口,一般不适用基本类型,都使用包装类型;
如果是应用内部自己用,则可以使用基本类型; |
22
guyeu May 21, 2019
1. 优先项目内部代码规范;
2. 如果你的方法设计上不会返回 null,请使用基本类型; 3. 如果你的方法设计上会返回 null,使用 Optional 包装,在语义上告诉使用者返回值有可能为空; |
23
enaxm May 21, 2019
对内你随意,不过我一般用包装类型,想到之前有个同事问我 int 能不能返回 null,我都不知道怎么吐槽。。。
系统内部一般有共有的工程打成 jar 包,常见的错误类型、宏定义等等,maven 里头连着 nexus,maven 中引入这个包 对外一般不返回一个当然包装 |
24
c4f36e5766583218 May 21, 2019
boolean,其它包装?
|
25
cuzfinal May 21, 2019
用基本对象,减少装箱
|
26
alittlefun May 21, 2019 via Android
参考 api 返回类型
|
27
itechify PRO 看需求~假如纯属自己做接口,爱咋用就咋用,写清楚返回是什么含义就行了
|
28
sagaxu May 21, 2019 via Android
java 标准库都是返回基本类型,Java 标准制定者们,应该比较懂 Java 吧
如果同事都是菜鸡,还是建议装箱类型,他们需要 |
29
BlackZhu May 22, 2019
请教一下 我想返回一条数据 不创建实体的话 难道装在 map 里面返回吗?
|
30
BlackZhu May 22, 2019
如果返回实体的话会有很多空字段 但是给每个方法写不同的 dto 又太繁琐了 各位是如何处理的?
|
32
lazyfighter May 30, 2019
包装类,null 跟 0 有可能两个含义
|