情景描述
- 写了一个controller function,想要使用他来处理获取某一条记录的功能。
- 但是困在了返回值类型,因为我们会处理,当要寻找的记录不存在返回一种对象,当记录存在返回记录对象。
- 我不知道我应该设置什么类型的返回值
矛盾点
- 如果我想要返回值类型是记录类,那么我该如何处理找不到记录时候的返回对象呢?
解决
Q1:函数返回的是对象还是引用?
-
A1:
- 当函数的参数是一个对象的时候,我们很清楚传进来的只是一个引用。
- 当函数的返回一个非基本类型数据的时候,返回的也是引用。
Q2:引用的值可以是什么?
-
A2:可以是两种:
- 对应对象的地址
- null
Q3:那么问题的解决?
A3: 根据上面两个问题我们可以知道,既然返回的是对象,对象包含两种数值。因此我就可以当不存在记录的时候返回null。存在记录的时候返回记录对象的引用
结论
- 写完后发现自己傻了,java中除了基本类型,你能使用的不是都是引用吗?就算是用构造函数构造出的对象返回的都是引用。所以就可以顺利的解释我可以返回null。
反思
- 先定论再找依据,费时间过多。花了大把的时间论证自己的结论是对的,说不定其实你的结论是错的
ACTION
- 先下结论还是可以的,但是一个结论如果通过搜索五分钟内找不到想要的结果,不能再费时间,直接寻找问题的解答。
- 或者先到网上找到问题的解答,然后对解答提出疑惑,补充知识