相关疑难解决方法(0)

有多个可选参数

我试图在我的方法中有可选参数.我找到了bolean ...测试,它的确有效.但每当我尝试使用秒级时,它都不起作用.

是否有可能放两个或更多(相同类型,例如:2个选项布尔)

代码:我现在拥有的:

public void addJButton(boolean... yo){}
Run Code Online (Sandbox Code Playgroud)

我想要的是:

public void addJButton(boolean... yo, boolean... yo2){}
Run Code Online (Sandbox Code Playgroud)

java parameters methods optional-parameters optional

3
推荐指数
2
解决办法
2万
查看次数

函数可以接受一个或两个参数,但不能超过两个

我正在尝试创建一种应该接受最少一个参数和最多两个参数的方法。第一个参数是必须的,但第二个参数是可选的

我试过以下

myFunction(String param1, String param2){

}
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,两个参数都需要传递,这是我不想要的。

myFunction(String... params){
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它也可以接受两个以上的参数,这也是我不想要的。

有人可以告诉我它是否是用java完成的吗?

java methods

1
推荐指数
1
解决办法
879
查看次数

是否可以使用可选参数制作通用功能接口?

我正在尝试使用单个方法(当然)在 Java 中创建一个功能接口,该方法可以采用任何类型的参数并返回任何数据类型(泛型方法)。

这是我到目前为止:

计算器.java

public interface Calculator<T> {
    T operation(T n1, T... n2); //this is where the optional parameter comes in
}
Run Code Online (Sandbox Code Playgroud)

主程序

public static void main(String[] args) {
    Calculator<Integer> addition = (n1, n2) -> n1 + n2; //this gives an error
}
Run Code Online (Sandbox Code Playgroud)

错误说:

二元运算符“+”的错误操作数类型

  • 是否可以在 Java 中创建带有可选参数的通用功能接口?
  • 如果是这样,我做错了什么?

java generics interface java-11

1
推荐指数
1
解决办法
150
查看次数

方法中不必要的字符串(重载方法)

我如何制作一个不需要对象的方法,但如果有的话,它会使用它!

像这样

void cls(String source){
        if(source.isEmpty()){
            source = "Unknown source";
        }
        output.setText("Screen cleared from " + source);
    }
Run Code Online (Sandbox Code Playgroud)

后来当我打电话给我时我能做到

cls();
Run Code Online (Sandbox Code Playgroud)

但它会抛出一个错误,因为它需要一个字符串

cls("string");
Run Code Online (Sandbox Code Playgroud)

但我希望两者都能奏效!

java

0
推荐指数
1
解决办法
91
查看次数

具有类似参数的重构构造函数

我想重构以下代码:

public Credito(String numero, String titular, LocalDate fechacaducidad, double credito, int marcainternacional,
            String nombreentidad, int ccv) {
        mNumero = numero;
        mTitular = titular;
        mFechaDeCaducidad = fechacaducidad;
        mCredito = credito;
        mMovimientos = new Vector<Movimiento>();
        mMarcaInternacional = marcainternacional;
        setmNombreEntidad(nombreentidad);
        setmCCV(ccv);
    }

public Credito(String numero, String titular, LocalDate fechacaducidad, int tipo, int marcainternacional,
        String nombreentidad, int ccv) {
    mNumero = numero;
    mTitular = titular;
    mFechaDeCaducidad = fechacaducidad;
    mTipo = tipo;
    mCredito = calcularCredito(mTipo);
    mMovimientos = new Vector<Movimiento>();
    mMarcaInternacional = marcainternacional;
    setmNombreEntidad(nombreentidad);
    setmCCV(ccv);
} …
Run Code Online (Sandbox Code Playgroud)

java refactoring

0
推荐指数
1
解决办法
57
查看次数

在Java 8中使用Optional参数调用方法

我有以下方法

public static Boolean test(String str, Optional<Boolean> test) {


}
Run Code Online (Sandbox Code Playgroud)

但如果我试着称之为

test("hello")
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,该方法需要两个参数.

不应该让Optional参数调用测试方法而不提供Optional参数吗?

java

0
推荐指数
1
解决办法
3793
查看次数