Java中的命令行参数

时间:2013-10-16 00:10:26

标签: java command-line-arguments

我刚开始学习JAVA 我正在编写一个非常简单的程序来打印基于命令行参数的东西 但它没有按预期工作。

这是我的程序和输出。

enter image description here

应该打印“e”但是打印“n”。

请告诉我我在哪里做错了。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

不要对六氰化物的答案语法挑剔,但是比较一个字符串等于“e”,我认为更多的逻辑和清洁:

if (e.equals("e")) { /* e == "e" */ }

因为它说:如果我们找到的字符串e是我们正在寻找的,在这种情况下是“e”,那么就做点什么。

另一个原因是“e”只是该点的一个字符数组,e已经是一个字符串。现在我不是100%肯定这个,但我认为equals方法在字符数组的某处有一些更有效的覆盖方法。如果你将“e”放在.equals前面,“e”首先转换为String然后进行评估,即编译器不优化它。