基本上,我正在开发一个涉及矩阵的程序,我很警惕,并且不正确地认为所提供的矩阵可以是一个简单的数组,但是这反驳了我在这里要做什么。
无论如何,下面提供的代码提供了3种方法,每种方法都有我尝试比较这两个值的代码,但在每种情况下均会失败。如果任何人都可以指出错误,那就太好了。
公共类TestingLength {
public static String[][] locatedNum = {{"1","2","3"}};
public static int num = 3;
public static void test() {
System.out.println("Finding Number " + locatedNum[0][2] + " With Number " + num);
if(locatedNum[0][2] == ""+num) {
System.out.println("Example Worked!");
return;
}else
System.out.println("Example Failed!");
}
public static void test2() {
System.out.println("Finding Number " + locatedNum[0][2] + " With Number " + num);
if(locatedNum[0][2].equals(num)) {
System.out.println("Example Worked!");
return;
}else
System.out.println("Example Failed!");
}
public static void test3() {
String s = Integer.toString(num);
System.out.println("Finding Number " + locatedNum[0][2] + " With Number " + num);
if(locatedNum[0][2] == s) {
System.out.println("Example Worked!");
return;
}else
System.out.println("Example Failed!");
}
public static void main(String[] args) {
test();
test2();
test3();
}
}
如果您进行更改,则第一个示例有效
if(locatedNum[0][2] == ""+num) {
至
if(locatedNum[0][2].equals(""+num)) {
在这里,您正在比较String
s,String
应该始终使用来比较s .equals
。否则,您将比较大多数情况下String
指针不同的指针。
如果您进行更改,则第二项测试有效
if(locatedNum[0][2].equals(num)) {
至
if(Integer.parseInt(locatedNum[0][2]) == num) {
在这种情况下,您正在比较Integer值,这==
是一个有效的选择。但是,您还必须将String
值从locatedNum
转换为整数值。
如果您进行更改,则您的第三个测试有效
if(locatedNum[0][2] == s) {
至
if(locatedNum[0][2].equals(s) {
如果要比较字符串,请始终使用.equals
代替==
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句