Java 函数中的参数
Arguments in Java function
我正在尝试使用另一个 class 来 return 来自另一个 class 的数据。
class 将 return 密码或密钥,具体取决于发送到 class.
的参数
这是 class 中 return 数据的函数:
public static String main(String args[]){
if (!args.equals(null)){
String gen = generatePassword(args[1]);
return gen;
}else{
String gen = generateRandomString();
return gen;
}
}
我的错误是:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at me.GaryIsASloth.KeyGenerator.main(KeyGenerator.java:34)
其中34指的是:
if (!args.equals(null)){
提供的参数将是 "pass",在 "true"/"false" 之后,这将告诉 class 是否包含特殊字符。
或者对于键,args 将为空。
当我使用密钥时,我的 class 工作得很好,然后在修改后它也可以很好地使用密码。但是,根据参数,我无法让它与两者一起使用。我试过空检查和长度检查。我能做什么?
检查 null 时,您无法检查 something.equals(null)
,因为 equals 是一种方法,不能在 null 上调用它。 Null 不是对象。其次,数组中的元素从 0 开始编号,因此第一个元素将为 arg[0]
.
public static String main(String args[]){
String gen;
if (args != null){
gen = generatePassword(args[0]);
}else{
gen = generateRandomString();
}
return gen;
}
这里是:
if (!args.equals(null)){
String gen = generatePassword(args[1]);
return gen;
仅仅因为 args 不为空,这是否意味着它有 2 个元素?
这不是个好主意:
String main(String[] args)
因为 java 有一个看起来像那样的方法
所以巧合不允许你编译
而不是检查 if (!args.equals(null))
这样做 if (args != null)
然后你应该检查你的参数数量是否正确,如果你想访问args[1]
if(args.length == 2)
我正在尝试使用另一个 class 来 return 来自另一个 class 的数据。 class 将 return 密码或密钥,具体取决于发送到 class.
的参数这是 class 中 return 数据的函数:
public static String main(String args[]){
if (!args.equals(null)){
String gen = generatePassword(args[1]);
return gen;
}else{
String gen = generateRandomString();
return gen;
}
}
我的错误是:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at me.GaryIsASloth.KeyGenerator.main(KeyGenerator.java:34)
其中34指的是:
if (!args.equals(null)){
提供的参数将是 "pass",在 "true"/"false" 之后,这将告诉 class 是否包含特殊字符。 或者对于键,args 将为空。
当我使用密钥时,我的 class 工作得很好,然后在修改后它也可以很好地使用密码。但是,根据参数,我无法让它与两者一起使用。我试过空检查和长度检查。我能做什么?
检查 null 时,您无法检查 something.equals(null)
,因为 equals 是一种方法,不能在 null 上调用它。 Null 不是对象。其次,数组中的元素从 0 开始编号,因此第一个元素将为 arg[0]
.
public static String main(String args[]){
String gen;
if (args != null){
gen = generatePassword(args[0]);
}else{
gen = generateRandomString();
}
return gen;
}
这里是:
if (!args.equals(null)){
String gen = generatePassword(args[1]);
return gen;
仅仅因为 args 不为空,这是否意味着它有 2 个元素?
这不是个好主意:
String main(String[] args)
因为 java 有一个看起来像那样的方法 所以巧合不允许你编译
而不是检查 if (!args.equals(null))
这样做 if (args != null)
然后你应该检查你的参数数量是否正确,如果你想访问args[1]
if(args.length == 2)