equal
deleted
inserted
replaced
1008 } |
1008 } |
1009 |
1009 |
1010 private boolean nonSyncContentEquals(AbstractStringBuilder sb) { |
1010 private boolean nonSyncContentEquals(AbstractStringBuilder sb) { |
1011 char v1[] = value; |
1011 char v1[] = value; |
1012 char v2[] = sb.getValue(); |
1012 char v2[] = sb.getValue(); |
1013 int i = 0; |
1013 int n = v1.length; |
1014 int n = value.length; |
1014 if (n != sb.length()) { |
1015 while (n-- != 0) { |
1015 return false; |
|
1016 } |
|
1017 for (int i = 0; i < n; i++) { |
1016 if (v1[i] != v2[i]) { |
1018 if (v1[i] != v2[i]) { |
1017 return false; |
1019 return false; |
1018 } |
1020 } |
1019 i++; |
|
1020 } |
1021 } |
1021 return true; |
1022 return true; |
1022 } |
1023 } |
1023 |
1024 |
1024 /** |
1025 /** |
1036 * false} otherwise |
1037 * false} otherwise |
1037 * |
1038 * |
1038 * @since 1.5 |
1039 * @since 1.5 |
1039 */ |
1040 */ |
1040 public boolean contentEquals(CharSequence cs) { |
1041 public boolean contentEquals(CharSequence cs) { |
1041 if (value.length != cs.length()) |
|
1042 return false; |
|
1043 // Argument is a StringBuffer, StringBuilder |
1042 // Argument is a StringBuffer, StringBuilder |
1044 if (cs instanceof AbstractStringBuilder) { |
1043 if (cs instanceof AbstractStringBuilder) { |
1045 if (cs instanceof StringBuffer) { |
1044 if (cs instanceof StringBuffer) { |
1046 synchronized(cs) { |
1045 synchronized(cs) { |
1047 return nonSyncContentEquals((AbstractStringBuilder)cs); |
1046 return nonSyncContentEquals((AbstractStringBuilder)cs); |
1053 // Argument is a String |
1052 // Argument is a String |
1054 if (cs.equals(this)) |
1053 if (cs.equals(this)) |
1055 return true; |
1054 return true; |
1056 // Argument is a generic CharSequence |
1055 // Argument is a generic CharSequence |
1057 char v1[] = value; |
1056 char v1[] = value; |
1058 int i = 0; |
1057 int n = v1.length; |
1059 int n = value.length; |
1058 if (n != cs.length()) { |
1060 while (n-- != 0) { |
1059 return false; |
1061 if (v1[i] != cs.charAt(i)) |
1060 } |
|
1061 for (int i = 0; i < n; i++) { |
|
1062 if (v1[i] != cs.charAt(i)) { |
1062 return false; |
1063 return false; |
1063 i++; |
1064 } |
1064 } |
1065 } |
1065 return true; |
1066 return true; |
1066 } |
1067 } |
1067 |
1068 |
1068 /** |
1069 /** |