在Java中接受两种不同类型作为参数的方法

来源:爱站网时间:2021-09-16编辑:网友分享

问题描述


需求:-

在getDetails方法中,如果传递了类型为[[Customclass的对象B,则我们将调用以Customclass为参数的getStatus方法。现在,我们需要使参数可以同时使用string / customclass类型,

so if it is string, then we are directly getting the value so need not to call getStatus method And if it of type **customclass**, then we need to invoke getStatus
在我现有的项目中,我们从多个地方调用

getDetails

,因此重写太昂贵了,这会使代码重复我有类似下面的代码:- getDetails(Strig a, Customclass B) { //lengthy calculation long method String status = getStatus(B) //lengthy calculation long method }
我想使其如下所示:-

getDetails(Strig a, Customclass B || String B) { //lengthy calculation long method String status; If(B of type String) { status = B; } else { status = getStatus(B) } //lengthy calculation long method }

思路一:


创建两个方法getdetails:

getDetails(Strig a,Customclass B)

getDetails(Strig a,字符串B)

思路二:


如果我了解您想要做什么,通常可以通过重载该方法来实现

getDetails(String a, Customclass B) { //lengthy calculation long method String status = getStatus(B) //lengthy calculation long method } getDetails(String a, String B) { String status = B }

在重载中,您提供2个或更多具有不同参数要求的方法。然后,当您调用该方法时,java将根据您传入的参数的类型来确定要调用的方法。

上一篇:如何在Spring Boot 2.2.4中与@ConfigurationProperties一起使用@ConstructorBinding和@PropertySource?

下一篇:关闭JFileChooser和JDialog后禁用JFrame

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载