JAVA - 字符串包含字符字母。可以检查吗?

Thr*_*123 1 java string contains char

我正在尝试创建一个名为的方法,Baller(String str, char chr)如果该单词包含该字符,该方法应该返回一个布尔值。在主要方法中我有:

public static void main(String[] args) {
    Balling ball= new Balling ();
    System.out.println( ball.contains("Baller", 'a'));
    System.out.println( ball.contains("Baller", 'A'));
}
Run Code Online (Sandbox Code Playgroud)

我所做的是这样的,但没有成功:

public boolean contains(String str, char chr ) {
    if(str.length() == chr) {
        return true;
    }
    else {
        return false;
    }       
}
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

回答

public boolean contains(String str, char chr ) {

        for(int i = 0; i < str.length(); i++)
            if(str.charAt(i) == chr)
                return true;
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

Max*_*oom 5

问题在于字符串长度与字符值进行比较:

str.length() == chr
Run Code Online (Sandbox Code Playgroud)

如果使用indexOf String方法,你应该使用什么

public boolean contains(String str, char chr) {
  return str.indexOf(chr) != -1;
}
Run Code Online (Sandbox Code Playgroud)