调用其参数在 Java VS C# 中可为空的方法

  • 本文关键字:方法 参数 Java VS 调用 java c#
  • 更新时间 :
  • 英文 :


我正处于从C#向Java过渡的阶段。

我记得在 C# 中,我们可以调用带有或不传递参数的可为空的方法。 例如在 C# 中

C#

public void method (int? x){
logic goes here
}

我可以像这样调用上面的方法,而无需在 c# 中传递任何参数

method();

如何在Java中做到这一点?? 在 Java 中,它迫使我通过传递参数来调用该方法,如果没有参数,它迫使我至少传递一个 null。 我在这里的问题是我想编辑一个现有方法,但是在很多地方都调用了此方法,所以我需要在很多地方进行编辑,这很令人沮丧。

爪哇岛

public void method (Integer x){
logic goes here
}
method(null);

如果不想编辑方法的现有用法,可以添加一个调用现有方法的新方法:

public void method() {
method(null);
}

完整的C# 示例如下所示:

public void method (int? x = null){ }

这意味着对方法参数x使用默认值null。Java 不支持缺省参数值。

相反,您可以做的(有时也会这样做(是:

public void method (Integer x){ }
public void method(){
method(null);
}

虽然在我看来这不是最好的设计,因为传递null是隐含的,并且method()中没有参数表明实际上不需要参数。

最新更新