将char数组与字符串匹配的函数

时间:2014-05-01 12:27:33

标签: java arrays string char

我正在尝试实现一个函数来比较5个字母的字符串和一个char数组,并通过比较字符串的每个字符与数组的每个字符来匹配它们 当我尝试使用它时,它总是会返回类似[C@bebf1eb

的内容

这是我的功能:

static String matching(String myWord1, char[] word_taken) {

    char result[] = new char[5];
    int k = 0;
    char[] myWord = myWord1.toCharArray();

    for (int i = 0; i < myWord.length; i++) {
        for (int j = 0; j < word_taken.length; j++) {

            if (myWord[i] == word_taken[j]) {

                result[k] = myWord[i];
                k++;
                break;
            }

        }
    }
    return result.toString();

}

2 个答案:

答案 0 :(得分:4)

  

当我尝试使用它时,它总会返回类似[C @ bebf1eb

的内容

是的,不会覆盖数组的toString()方法,因此您获得了default implementation

使用带有char数组的字符串constructor

return new String(result);

<小时/> 如果要在创建String时避免重新复制数组的内容,可以使用StringBuilder并在需要时将char附加到其中。

最后,只需返回myStringBuilder.toString();

即可

答案 1 :(得分:0)

是的我也面临同样的问题,并通过创建字符串对象

获得正确的结果
return new String(result);