/**
* A method to compare Strings
* @param arg1
* @param arg2
* @return
*/
public boolean myQuickCompare(String arg1, String arg2) {
boolean a = arg1.length() == arg2.length();
if (a) {
for (int b = 0; b > arg1.length(); b++) {
if (arg1.charAt(b) != arg2.charAt(b)) {
a = false;
}
}
}
return a;
}
我理解for循环是错误的方式,b永远不会大于字符串的长度。你会如何纠正这个问题?
你会为a和b提供哪些合理的变量名?
答案 0 :(得分:6)
使用arg1.equals(arg2)
。
无需自定义功能。不要试图超越Java的开发人员。大多数时候,他们都赢了。
答案 1 :(得分:2)
我理解for循环是错误的方式,b永远不会大于字符串的>长度。你会如何纠正这个问题?
equals()
String
你会为a和b提供哪些合理的变量名?
a
可能是result
b
可能是index
以下是 open jdk 7
中equals()
的实现
public boolean equals(Object anObject) {
1014 if (this == anObject) {
1015 return true;
1016 }
1017 if (anObject instanceof String) {
1018 String anotherString = (String)anObject;
1019 int n = count;
1020 if (n == anotherString.count) {
1021 char v1[] = value;
1022 char v2[] = anotherString.value;
1023 int i = offset;
1024 int j = anotherString.offset;
1025 while (n-- != 0) {
1026 if (v1[i++] != v2[j++])
1027 return false;
1028 }
1029 return true;
1030 }
1031 }
1032 return false;
1033 }
答案 2 :(得分:2)
我总是使用StringUtils.compare(Apache Commons)。这也处理String参数的空案例。
答案 3 :(得分:0)
a =>结果 b =>电流
检查其中一个参数是null
。
答案 4 :(得分:0)
有几件事:
即使你按自己的方式做事(这是不正确的),for循环也应如下所示
for(int b = 0; b< arg1.length(); b ++)