2个字符串的比较

BMW*_*W83 -3 java

我想比较两个字符串,例如 str="abc" 和 str2="bca" 或 str3="bac" 都是双胞胎(包含相同的字符)我有这个代码

package com.hr.access.chaine;

public class ChaineCaractere {

public static void main(String[] args) {
    System.out.println(Solution.isTwin("hello", "world"));// false
    System.out.println(Solution.isTwin("abc", "cab"));// true
    System.out.println(Solution.isTwin("Lookout", "outlook"));// true
}  }
Run Code Online (Sandbox Code Playgroud)

和 Solution.isTwins 的另一个类在那里

package com.hr.access.chaine;

public class Solution {

public static boolean isTwin(String a, String b) {
    int longA = a.length();
    int longB = b.length();
    boolean retourneValeur;
    if (longA != longB) {
        System.out.println("Le deux chaine ne sont pas jumeau");
        retourneValeur = false;
    } else {

        // I want to add the code in this place to compare into two string 

     retourneValeur = true;
    }

    return retourneValeur;
}}
Run Code Online (Sandbox Code Playgroud)

我想在 else 的块中添加另一个代码,如果两个字符串是双胞胎或没有,我会影响到这一点,请帮帮我,我的朋友:)

Ari*_*ngh 5

import java.util.Arrays;

public class TwinString {
    public static void main(String[] args) {
        System.out.println(isTwin("?????????", "?????????"));       
        System.out.println(isTwin("acab", "abac"));
        System.out.println(isTwin("acab", "abacd"));

        System.out.println(isTwin("hello", "world"));// false
        System.out.println(isTwin("abc", "cab"));// true
        System.out.println(isTwin("Lookout", "outlook"));// true    
    }

    public static boolean isTwin(String a, String b) {
        byte[] ab = a.toLowerCase().getBytes();
        byte[] bb = b.toLowerCase().getBytes();
        Arrays.sort(ab);
        Arrays.sort(bb);
        return new String(ab).equals(new String(bb));
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:以上将破坏多字节字符集 - 但应该仍然有效。如果您担心多字节字符集,您可以使用以下内容

    public static boolean isTwinChars (String a, String b) {
        char[] aca = a.toLowerCase().toCharArray();
        char[] bca = b.toLowerCase().toCharArray();
        Arrays.sort(aca);
        Arrays.sort(bca);
        System.out.println(new String(aca));
        System.out.println(new String(bca));
        return new String(aca).equals(new String(bca));
    }
Run Code Online (Sandbox Code Playgroud)