Pasar tipo genérico al método indexOf JAVA

Quiero usar el indexOfmétodo para encontrar el número de palabras y letras en una cadena.

El método indexOf puede aceptar:

indexOf(String s)
indexOf(Char c)
indexOf(String s, index start) 

Entonces el método puede aceptar cadenas o caracteres y también puede aceptar el punto de partida

Quiero poder pasar una Cadena o un Carácter a este método, así que he intentado usar genéricos. El siguiente código es principal y 2 funciones. Como puede ver, deseo que indexOf funcione con String o Character que paso. Si lanzo 's' en indexOf a una cadena, funciona, pero luego se bloquea cuando intenta ejecutarse como Char. Muchas gracias de antemano!

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;
}
Respuesta 1

No creo que lo siguiente: i + = 1 o i = i + 1 sea lo mismo que ++ i. ¿O estoy equivocado? ¿Hay alguna forma de hacer un incremento previo sin usar el operador ++?

El protocolo rfb define que para una posición de transmisión (x, y) cada valor debe representarse en dos bytes. Entonces, cómo representar (108,284) en una matriz de bytes donde el protocolo define los parámetros ...

Estoy tratando de analizar, digamos "2020-01-12 + 01: 00" con el tiempo JSR-310. Lo leí a través de DateTimeFormatter.ofPattern ("aaaa-MM-ddVV"), pero ahora si quiero transformar eso en un Instant a través de Instant.from (...

Entonces, si está familiarizado con JavaFX, los objetos Buttons pueden modificarse con los siguientes métodos de Nodo myButton.setTranslateX (10); myButton.setTranslateY (-10); Esos métodos funcionan dentro del vacío público ...