对于返回值类型不确定的函数如何限定返回值类型

情景描述

  • 写了一个controller function,想要使用他来处理获取某一条记录的功能。
  • 但是困在了返回值类型,因为我们会处理,当要寻找的记录不存在返回一种对象,当记录存在返回记录对象。
  • 我不知道我应该设置什么类型的返回值

矛盾点

  • 如果我想要返回值类型是记录类,那么我该如何处理找不到记录时候的返回对象呢?

解决

  • Q1:函数返回的是对象还是引用?

  • A1:

    • 当函数的参数是一个对象的时候,我们很清楚传进来的只是一个引用。
    • 当函数的返回一个非基本类型数据的时候,返回的也是引用。
  • Q2:引用的值可以是什么?

  • A2:可以是两种:

    • 对应对象的地址
    • null
  • Q3:那么问题的解决?

  • A3: 根据上面两个问题我们可以知道,既然返回的是对象,对象包含两种数值。因此我就可以当不存在记录的时候返回null。存在记录的时候返回记录对象的引用

结论

  • 写完后发现自己傻了,java中除了基本类型,你能使用的不是都是引用吗?就算是用构造函数构造出的对象返回的都是引用。所以就可以顺利的解释我可以返回null。

反思

  • 先定论再找依据,费时间过多。花了大把的时间论证自己的结论是对的,说不定其实你的结论是错的

ACTION

  • 先下结论还是可以的,但是一个结论如果通过搜索五分钟内找不到想要的结果,不能再费时间,直接寻找问题的解答。
  • 或者先到网上找到问题的解答,然后对解答提出疑惑,补充知识

你可能感兴趣的