如上所述,我如何查找等于的字符串*
?
我试过这个:
if (string.equals("*")) {
return message;
}
该程序只是不会进入该if
语句。我能知道我哪里出错了吗?
如上所述,我如何查找等于的字符串*
?
我试过这个:
if (string.equals("*")) {
return message;
}
该程序只是不会进入该if
语句。我能知道我哪里出错了吗?
此代码工作正常,下面的代码返回"happy"
控制台,.equal
在字符串上使用 for没有任何问题*
。
public class NumberFun {
static String string = "*";
static String message = "happy";
public static void main(String args[]) {
System.out.println(getMessage());
}
private static String getMessage() {
if (string.equals("*")) {
return message;
}
return "fail";
}
}
我猜你String
可能有空格。我会尝试申请trim()
if(string.trim().equals("*")){
return message;
}
这是示例:
String mytem ="*";
if(mytem.equals("*"))
{
System.out.println("Hello");
}
输出:
Hello
好的,我要再打赌:您要比较的字符串作为命令行参数传递。但是命令行参数由 shell 扩展(至少在 Unix/Linux 等上)。例如,单个星号将扩展为当前目录中的文件列表。您的 Java 程序(甚至 JVM)没有机会看到原始输入星号。
在进行比较之前打印您的字符串。如果我的猜测是正确的,请将命令行参数括在引号中以避免 shell 扩展。