String y
에 대해 x.compareTo(y)
을 호출하면 항상 음수를 반환하는 String x
이 있습니까? 마찬가지로 항상 양수를 반환하는 x
이 있습니까? 감사.Java에서 String은 항상 compareTo에서 특정 결과를 반환합니다.
2
A
답변
5
아니요. 0이 반환 될 때 항상 대소 문자가 있습니다. 즉, 문자열은 동일한 문자열과 비교됩니다.
1
아니오 (와 가정에서 순서가 일관되어야한다는) 소스 코드에서 유추 할 수 x.compareTo(x)
어떤 x
에 대한 0
때문에 :
1174 public int compareTo(String anotherString) {
1175 int len1 = count;
1176 int len2 = anotherString.count;
1177 int n = Math.min(len1, len2);
1178 char v1[] = value;
1179 char v2[] = anotherString.value;
1180 int i = offset;
1181 int j = anotherString.offset;
1182
1183 if (i == j) {
1184 int k = i;
1185 int lim = n + i;
1186 while (k < lim) {
1187 char c1 = v1[k];
1188 char c2 = v2[k];
1189 if (c1 != c2) {
1190 return c1 - c2;
1191 }
1192 k++;
1193 }
1194 } else {
1195 while (n-- != 0) {
1196 char c1 = v1[i++];
1197 char c2 = v2[j++];
1198 if (c1 != c2) {
1199 return c1 - c2;
1200 }
1201 }
1202 }
1203 return len1 - len2;
1204 }
지금, 당신의 질문은 최소한에 있었다 경우 최대 문자열이고, x와 자체의 비교를 위해 0을 허용하면 동일한 코드는 문자열에 임의의 char을 추가하면 "더 큰"것을 표시합니다.
0
자바에서 a.compareTo (b)는 반환 것이다
- 음 INT만약 < B
- 0만약 ==를 b를
- 긍정적 인 inta> b
나는 compareTo와는 반사적이며,이
없음 도움이되기를 바랍니다 – nachokk