src/share/classes/java/lang/String.java
Print this page
*** 1008,1024 ****
}
private boolean nonSyncContentEquals(AbstractStringBuilder sb) {
char v1[] = value;
char v2[] = sb.getValue();
! int i = 0;
! int n = value.length;
! while (n-- != 0) {
if (v1[i] != v2[i]) {
return false;
}
- i++;
}
return true;
}
/**
--- 1008,1025 ----
}
private boolean nonSyncContentEquals(AbstractStringBuilder sb) {
char v1[] = value;
char v2[] = sb.getValue();
! int n = v1.length;
! if (n != sb.length()) {
! return false;
! }
! for (int i = 0; i < n; i++) {
if (v1[i] != v2[i]) {
return false;
}
}
return true;
}
/**
*** 1036,1047 ****
* false} otherwise
*
* @since 1.5
*/
public boolean contentEquals(CharSequence cs) {
- if (value.length != cs.length())
- return false;
// Argument is a StringBuffer, StringBuilder
if (cs instanceof AbstractStringBuilder) {
if (cs instanceof StringBuffer) {
synchronized(cs) {
return nonSyncContentEquals((AbstractStringBuilder)cs);
--- 1037,1046 ----
*** 1053,1068 ****
// Argument is a String
if (cs.equals(this))
return true;
// Argument is a generic CharSequence
char v1[] = value;
! int i = 0;
! int n = value.length;
! while (n-- != 0) {
! if (v1[i] != cs.charAt(i))
return false;
! i++;
}
return true;
}
/**
--- 1052,1069 ----
// Argument is a String
if (cs.equals(this))
return true;
// Argument is a generic CharSequence
char v1[] = value;
! int n = v1.length;
! if (n != cs.length()) {
return false;
! }
! for (int i = 0; i < n; i++) {
! if (v1[i] != cs.charAt(i)) {
! return false;
! }
}
return true;
}
/**