1 package com.cnse.demo; 2/** 3 * 比较两个字符串相等 4 */ 5public class StringTest { 6 public static void main(String[] args) { 7 int checkLength = 0; 8 String str="好人"; 9 String in="好人"; 10 if(str.equals(in)){ 11 System.out.println("equals比较::"+Boolean.valueOf(str.equals(in))); 12 } 13 char[] strarray=str.toCharArray(); 14 char[]inarray=in.toCharArray(); 15 for (int i = 0; i < inarray.length; i++) { 16 for (int j = 0; j < strarray.length; j++) { 17 if (inarray[i] == strarray[j]) { 18 System.out.println("charArray比较::"+Boolean.valueOf(inarray[i] == strarray[j])); 19 System.out.println("两个字符串相等"); 20 System.out.println(inarray[i] +":::::in::::测试字符串::"+strarray[j]); 21 checkLength++; 22 break; 23 } 24 } 25 } 26 } 27} 28 29//java的equeals源码分析 //考虑的比较全面 30public boolean equals(Object anObject) { 31 //先考虑的是否是同一个对象 32 if (this == anObject) { 33 return true; 34 } 35 //不同的对象 36 if (anObject instanceof String) { 37 String anotherString = (String) anObject; 38 //长度相同时 39 int n = value.length; 40 if (n == anotherString.value.length) { 41 char v1[] = value; 42 char v2[] = anotherString.value; 43 //使用的是i-- 把字符倒着比较 44 int i = 0; 45 while (n-- != 0) { 46 if (v1[i] != v2[i]) 47 return false; 48 i++; 49 } 50 return true; 51 } 52 } 53 return false; 54}
java字符串比较和jdkequals源码分析
Wesley13
2021-10-11
1116 1 0
点赞
收藏
评论区
加载中...