indexOf
메서드를 사용하여 문자열의 단어 수와 문자를 찾습니다.일반적인 형식을 indexOf 메서드에 전달 JAVA
같이 IndexOf 방법은 받아 들일 수 :
indexOf(String s)
indexOf(Char c)
indexOf(String s, index start)
그래서 방법이 또는
문자을
문자열을 받아 들일 수 있고 받아 들일 수 시작 지점 나는 할 수 있도록하려면 는 문자열 중 하나를 전달하는 또는 Character를이 메서드에 추가하여 제네릭을 사용하려고했습니다. 아래 코드는 main과 2 개의 함수입니다. 당신이 볼 수 있듯이 내가 전달하는 String 또는 Character로 indexOf 작업을 수행 할 수 있기를 원합니다. indexOf에서 String으로 캐스팅하면 작동하지만 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;
}
방법 과부하는 그렇게 작동하지 않습니다. 세 개의 별도의'indexOf' 메소드는 본질적으로 서로 관련이 없으므로 지능형으로 하나 또는 다른 것을 호출하는 데 generics를 사용할 수 없습니다. – ruakh
Ahh gosh 그래서 기본적으로 가능하지 않니? if (String), if (Char) then indexOf ((Char) s, index) – nearpoint