一个方法返回值的类型应该怎么定义

在做开发时遇到了这样一个问题,有一个方法我需要对一个json的字符串做一些处理,处理完成之后再返回,但是返回的需要并不明确,返回多种类型的对象从功能上讲都是一样的,如Object,String.伪代码如下:

public ?? adaptTheMetadataByLanguage(String json) {
            ObjectMapper mapper = new ObjectMapper();
            JsonNode metadataNode = mapper.readTree(metadata);
            //modify this json by requiremennt
            return ??;
    }

那么这个问题有没有一个准则或者是通用的方案呢。首先我们需要明白一个方法的返回值是什么. 方法也叫函数,方法的返回值也可以说是一个函数的计算结果。但是代码是相对更加灵活的,我们可以使用各种工具,将一个类型转换成另一个类型。因此方法的返回值类型总结起来说应该是:根据实际的需求去定义。

当不需要返回时定义为null,当需要返回时可以先返回Object,然后再去调整返回值的类型,在都满足需求的情况下可以从怎样返回使得调用者使用更加方便的角度去定义。

java中的main方法是一个很好的例子,main方法的定义是void的,即不需要返回值,这是因为main方法是用来启动一个Java应用程序的,他是一个Java应用程序的入口,这个方法的调用者不需要任何返回值。因此他被定义为了void的方法。关于main方法的内容可以参考这篇博客:[java] 关于main方法的一切

回到上面的这个问题当中,经过和相关方法调用者的商量,最后是定义成了String类型的返回值,因为输入的参数类型是一个String类型的json,那么在对这个json进行了一系列操作之后,返回值依然是String应该是更合理的。这个问题我们可以灵活看待举一反三,方法的返回值是一个灵活的东西,对于任何灵活不固定的东西,我们都应该秉持的原则是根据实际需求决定,到底采用什么方案。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值