Ho notato che chiamare equals("");
in un metodo di una classe non genera alcun errore entro Eclipse
. Non ho mai visto .equals chiamato senza qualcosa come string1.equals(string2);
.Chiamata uguale (""); da solo compila e corre
package voodoo;
public class Equals {
public void method(){
equals("");
}
}
Che cosa sta succedendo qui e quando sarebbe chiama equals()
di per sé mai essere utilizzato?
Se lo metto in un JUnit
da testare, viene eseguito e trasmesso.
@WOUNDEDStevenJones: Perché pensi che? –
Non c'è niente di sbagliato in questa funzione: 'public void answerToLifeTheUniverseAndEverything() {42; } '. Quel 42 è lasciato cadere sul bit floor, proprio come il tuo 'equals (" ")'. –
@DavidHammen Non verrà compilato. Le espressioni arbitrarie sono dichiarazioni valide in C++ [ma non in Java] (https://stackoverflow.com/questions/32406041/when-is-an-unassigned-expression-a-valid-statement). – Boann