Java根据入参类型返回不同类型数据

在Java中,我们经常会遇到需要根据不同的入参类型来返回不同类型数据的情况。这种情况下,我们可以通过方法的重载来实现。方法的重载指的是在同一个类中定义多个方法,它们具有相同的名称但是参数列表不同。

方法重载示例

下面我们通过一个简单的例子来演示如何通过方法的重载来根据不同的入参类型返回不同类型数据。

public class ReturnTypeExample {

    public int process(int num) {
        return num * num;
    }

    public double process(double num) {
        return num * num;
    }

    public String process(String str) {
        return "Hello, " + str + "!";
    }
}

在上面的示例中,我们定义了一个ReturnTypeExample类,包含了三个重载的process方法。第一个方法接受一个整数类型的参数并返回整数类型的结果,第二个方法接受一个浮点数类型的参数并返回浮点数类型的结果,第三个方法接受一个字符串类型的参数并返回一个拼接好的字符串。

序列图示例

下面是一个根据不同类型的入参返回不同类型数据的方法调用的序列图示例。

sequenceDiagram
    participant Client
    participant ReturnTypeExample
    Client->>ReturnTypeExample: process(5)
    ReturnTypeExample->>ReturnTypeExample: int process(int num)
    ReturnTypeExample-->>Client: 25
    Client->>ReturnTypeExample: process(3.14)
    ReturnTypeExample->>ReturnTypeExample: double process(double num)
    ReturnTypeExample-->>Client: 9.8596
    Client->>ReturnTypeExample: process("world")
    ReturnTypeExample->>ReturnTypeExample: String process(String str)
    ReturnTypeExample-->>Client: "Hello, world!"

通过方法的重载,我们可以很方便地根据不同的入参类型返回不同类型数据。这样的设计使代码更加灵活和易于维护,同时也提高了代码的可读性和可维护性。在实际开发中,我们可以根据具体的业务需求来合理地运用方法的重载,提高代码的效率和可扩展性。