Hola. Nosotros al menos no conocemos algun metodo propio de java que te permita hacer las comparaciones que tu quieres. Lo que podrias hacer es utilizar el método indexOf(String cadena) de la clase String para que busques un string dentro de otro. La sentencia seria mas o menos asi
cadena2.indexOf(cadena1)
este metodo retorna el índice de la posicion en la que se encuentra la cadena1 por primera vez en la cadena2. Si la cadena1 no se encuentra en la cadena2, retorna -1. Deberias tomar este valor y hacer algo asi
int posicion = cadena2.indexOf(cadena1);
int contar = 0;
if ( posicion > -1 ){
posicion = posicion + cadena1.length; // para correr el puntero
cadena2.subString(posicion,cadena2.length);
contar++;
}
de esta manera cada vez que encuentra la cadena2, se crea una nueva cadena2 pero quitando la ultima cadena1 encontrada. Y sigues asi hasta que llegues al final de la cadena2
Cualquier cosa pregunta