Olá, Vitor.
Tudo bem?
Primeiramente, é importante entender que o operador &&
é um operador de curto-circuito. Isso significa que se a primeira condição for falsa, a segunda condição não será avaliada. No seu caso, a expressão 1 != 1
é falsa, então a expressão metodo(x)
não será avaliada.
No entanto, você mencionou que o parâmetro do método metodo
é do tipo String
, enquanto você está passando um int
. Isso realmente causaria um erro de compilação, mas como a expressão 1 != 1
é falsa, o compilador não tentará avaliar metodo(x)
, e você não verá esse erro em tempo de execução.
Para resumir:
- A expressão
1 != 1
é falsa. - Devido ao operador de curto-circuito
&&
, a expressão metodo(x)
não será avaliada. - Se
1 != 1
fosse verdadeira, você veria um erro de compilação porque metodo
esperaria um String
e você está passando um int
.
Espero ter ajudado e bons estudos!