Bagaimana untuk menyemak bahawa aksara dalam dua rentetan adalah sama?
Bagaimana untuk memahami soalan ini? Contohnya, rentetan "Silent Wang Er" dan "Shen Wang Er Mo " Aksara yang sama digunakan, bukan? Contohnya, rentetan "Silent Wang 2" dan "Silent Wang 3" menggunakan aksara yang berbeza. Adakah anda faham?
public class CheckSameCharsInString { public static void main(String[] args) { sameCharsStrings("沉默王二", "沉王二默"); sameCharsStrings("沉默王二", "沉默王三"); } private static void sameCharsStrings(String s1, String s2) { Set<Character> set1 = s1.chars().mapToObj(c -> (char) c).collect(Collectors.toSet()); System.out.println(set1); Set<Character> set2 = s2.chars().mapToObj(c -> (char) c).collect(Collectors.toSet()); System.out.println(set2); System.out.println(set1.equals(set2)); } }
Hasil output adalah seperti berikut :
[默, 沉, 王, 二] [默, 沉, 王, 二] true [默, 沉, 王, 二] [默, 沉, 三, 王] false
Kod di atas menggunakan strim Strim Ia kelihatan pelik, tetapi ia mudah difahami koleksi, jadi aksara yang berbeza dalam rentetan dikumpulkan.
Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada aksara dalam dua rentetan adalah sama dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!