¿Por qué es `+ 1` una expresión válida en Java?

Prathik Rajendran M:

El siguiente bloque de código

class Main {
  public static void main(String[] args) {
    System.out.println( + 1);
  }
}

Compila en Java 1.8.

Cuando se ejecuta este código 1se imprime.

Lo mismo con System.out.println(+ + 1);

Sin embargo ++1falla al compilar.

+ + "str" falla al compilar.

+ + true falla al compilar.

Así que parece que sólo se admite para int, largo y doble.

¿Cuál es la razón por la que esta expresión es válida para los tipos de datos anteriores?

TAlex:

Esto es más unario expresión. Es aquí sólo para la expresión menos unario cumplido.

Único tipo numérico suports porque para otros tipos que no tiene ningún sentido.

++1no se compila porque ++es expresión de incremento y requiere variable o un campo como expresión sub.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=184307&siteId=1
Recomendado
Clasificación