Ayuda pequeño problema

Hola amigos tengo este programa en java y es un ArrayList pero no esta conectado a una base de datos solo es una simulación y pues capturo datos y al momento de hacer la consulta me marca error yo para hacer la consulta capturo el nombre del libro que se quiere consultar y después lo comparo if(consultaS==tituloDelLibro) a la mejor así no es, me pueden ayudar

public void consultasLibros(){
BufferedReader leer=new BufferedReader( new InputStreamReader(System.in));

try{
System.out.println(" ");
System.out.println("Teclea el nombre del libro a consultar: ");
consultaS=leer.readLine();

}catch(Exception e){
System.out.println("Error de captura");
}
for(Biblioteca consulta: DatosBiblioteca.lista){
if(consultaS==tituloDelLibro){
System.out.println(" ");
System.out.println("Codigo del libro: "+consulta.codigoLibro);
System.out.println("Titulo del libro: "+consulta.tituloDelLibro);
System.out.println("Nombre del autor: "+consulta.autorDeLibro);
}else{
System.out.println("Error");
}
}
}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ro0206

titulo del libro

si titulo del libro y consultaS son cadenas, la comparacion hazla con un equals, if(consultaS.equals(consulta.tituloDelLibro)). ademas estas accediendo a algo que no existe tituloDelLibro

Imagen de JaimeItlzc

Comparacion de Strings

Concatenar dos strings

 

Comparación de Strings

 

Saludos

Imagen de ezamudio

comparaciones

las comparaciones es más fácil si solamente pones

 

La idea de lo que devuelve el método compare es que lo compares con 0 y que el operador que usas es como si estuviera entre los dos operandos. Es decir si quieres saber si la cadena A es mayor que la cadena B, mentalmente haces "A > B" pero como eso no se puede porque no hay sobrecarga de operadores en Java, entonces "A.compareTo(B) > 0", es decir el operador es >.