我想使用该indexOf
方法查找字符串中的单词数和字母数。
indexOf 方法可以接受:
indexOf(String s)
indexOf(Char c)
indexOf(String s, index start)
所以该方法可以接受字符串或字符,也可以接受起点
我希望能够将字符串或字符传递到此方法中,因此我尝试使用泛型。下面的代码是 main 和 2 个函数。正如您所看到的,我希望能够让 indexOf 与传入的字符串或字符一起工作。如果我将 indexOf 中的 's' 转换为字符串,它可以工作,但是当它尝试作为 Char 运行时会崩溃。提前非常感谢!
public static void main(String[] args) {
MyStringMethods2 msm = new MyStringMethods2();
msm.readString();
msm.printCounts("big", 'a');
}
public <T> void printCounts(T s, T c) {
System.out.println("***************************************");
System.out.println("Analyzing sentence = " + myStr);
System.out.println("Number of '" + s + "' is " + countOccurrences(s));
System.out.println("Number of '" + c + "' is " + countOccurrences(c));
}
public <T> int countOccurrences(T s) {
// use indexOf and return the number of occurrences of the string or
// char "s"
int index = 0;
int count = 0;
do {
index = myStr.indexOf(s, index); //FAILS Here
if (index != -1) {
index++;
count++;
}
} while (index != -1);
return count;
}