Hi!
Ich frage mich wie man dieses Code-snippet innerhalb einer überschriebenen
equals()-Methode auch mit einer if-Kaskade äquivalent darstellen kann?
Code mit verkürzter Syntax:
	
	
	
	
	
		
	
Mein Vorschlag für eine if-Kaskaden-Schreibweise:
	
	
	
	
	
		
	
Kommt das so hin bzw. mach der 2te Code genau das selbe, wie der erste Code?
Lg,
Zrebna
			
			Ich frage mich wie man dieses Code-snippet innerhalb einer überschriebenen
equals()-Methode auch mit einer if-Kaskade äquivalent darstellen kann?
Code mit verkürzter Syntax:
		Java:
	
	 @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Invocation)) return false;
        Invocation that = (Invocation) o;
        if (getSelf() != null ? !getSelf().equals(that.getSelf()) : that.getSelf() != null) return false;
        if (getMethod() != null ? !getMethod().equals(that.getMethod()) : that.getMethod() != null) return false;
        
        return Arrays.deepEquals(getArgs(), that.getArgs());
    }
	Mein Vorschlag für eine if-Kaskaden-Schreibweise:
		Java:
	
	@Override
    public boolean equals(Object o) {
       if(this == o)
           return true;
       if(!(o instanceof Invocation))
           return false;
       Invocation other = (Invocation) o;
       if(getSelf() == null && other.getSelf() == null) {
           return true;
       }
       else if (getSelf() != null && getSelf().equals(other.getSelf())) {
           return true;
       }
       else if(!getSelf().equals(other.getSelf())) {
           return false;
       }
       if(getMethod() == null && other.getMethod() == null) {
           return true;
       }
       else if(getMethod() != null) {
           return getMethod().equals(other.getMethod());
       }
        // use Arrays.deepEquals to compare Object[]
       return Arrays.deepEquals(getArgs(), other.getArgs());
    }
	Kommt das so hin bzw. mach der 2te Code genau das selbe, wie der erste Code?
Lg,
Zrebna