Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的命令行参数_Java_Command Line Arguments - Fatal编程技术网

Java中的命令行参数

Java中的命令行参数,java,command-line-arguments,Java,Command Line Arguments,我刚开始学习JAVA。 我正在编写一个非常简单的程序,根据命令行参数打印一些东西。 但它并没有像预期的那样发挥作用 这是我的程序和输出 它应该打印“e”,但它正在打印“n” 请告诉我哪里做错了。字符串必须与字符串.equals()进行比较,因为=运算符只会检查引用是否指向同一对象 if ("e".equals(e)) { // they are equivalent strings } 不要挑剔六氰化物答案的语法,但在我看来,将字符串与“e”进行比较更符合逻辑且更清晰: if (e.eq

我刚开始学习JAVA。
我正在编写一个非常简单的程序,根据命令行参数打印一些东西。
但它并没有像预期的那样发挥作用

这是我的程序和输出

它应该打印“e”,但它正在打印“n”


请告诉我哪里做错了。

字符串必须与
字符串.equals()
进行比较,因为
=
运算符只会检查引用是否指向同一对象

if ("e".equals(e)) {
  // they are equivalent strings
}

不要挑剔六氰化物答案的语法,但在我看来,将字符串与“e”进行比较更符合逻辑且更清晰:

if (e.equals("e")) { /* e == "e" */ }
因为它说:如果我们找到的字符串e就是我们要找的,在这个例子中是“e”,那么做点什么


另一个原因是“e”在这一点上只是一个字符数组,而e已经是一个字符串了。现在我不能100%确定这一点,但我认为equals方法对于字符数组有一些更有效的重写方法。在将“e”放在.equals前面的情况下,首先将“e”转换为字符串,然后进行求值,即如果编译器没有对其进行优化。

“==运算符将仅检查对对象的引用是否相等”-否!
=
操作符检查引用是否指向同一对象!将更正此问题-谢谢。建议使用IDE。很多人都会为你做标记的谢谢vandale。但我认为我们应该从记事本开始。IDE将为我做所有的更正,我将无法学习小事情。