如何将方法参数设置为可选?

时间:2019-10-30 08:25:32

标签: java

我想创建一个方法,其中参数可以为空或填充。怎么做(使用什么?)

public static void Main() {
    someMethod("John");
    someMethod(10);
}

static void someMethod(String name, int age) {
    System.out.println(name, age);
}

2 个答案:

答案 0 :(得分:1)

您必须提供方法重载,这意味着 same 方法具有不同的参数:

static void someMethod(String name, int age) {
    System.out.println(name + ": " + age);
}

static void someMethod(String name) {
    System.out.println(name);
}

static void someMethod(int age) {
    System.out.println(age);
}

然后您可以执行以下操作:

public static void main(String[] args) {
    String john = "John";
    int ten = 10;

    someMethod(john, ten);
    someMethod(john);
    someMethod(ten);
}

顺便说一句,System.out.println(name, age);行将无法编译...

答案 1 :(得分:0)

一种方法,而不是使用integer(int),而使用Integer或Long等。您可以将这些参数作为null传递,您不希望为其传递值,并检查它是否为非null,然后仅打印。 另一种方法是,您将必须传递具有多个数字的相同类型的变量,例如

static void someMethod(String... var) {
     for(String x : var){
         System.out.println(x);
     }
}

或者您也可以传递包含键值的映射,然后对其进行迭代并打印。 因此,可以有多种解决方法。