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!