我试图在我的方法中有可选参数.我找到了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) 我正在尝试创建一种应该接受最少一个参数和最多两个参数的方法。第一个参数是必须的,但第二个参数是可选的。
我试过以下
myFunction(String param1, String param2){
}
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,两个参数都需要传递,这是我不想要的。
myFunction(String... params){
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它也可以接受两个以上的参数,这也是我不想要的。
有人可以告诉我它是否是用java完成的吗?
我正在尝试使用单个方法(当然)在 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)
错误说:
二元运算符“+”的错误操作数类型
我如何制作一个不需要对象的方法,但如果有的话,它会使用它!
像这样
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)
但我希望两者都能奏效!
我想重构以下代码:
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) 我有以下方法
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 ×6
methods ×2
generics ×1
interface ×1
java-11 ×1
optional ×1
parameters ×1
refactoring ×1