Best way to “negate” an instanceof

后端 未结 9 1328
后悔当初
后悔当初 2021-01-30 02:01

I was thinking if there exists a better/nicer way to negate an instanceof in Java. Actually, I\'m doing something like:

if(!(str instanceof String))         


        
9条回答
  •  长情又很酷
    2021-01-30 02:23

    If you find it more understandable, you can do something like this with Java 8 :

    public static final Predicate isInstanceOfTheClass = 
        objectToTest -> objectToTest instanceof TheClass;
    
    public static final Predicate isNotInstanceOfTheClass = 
        isInstanceOfTheClass.negate(); // or objectToTest -> !(objectToTest instanceof TheClass)
    
    if (isNotInstanceOfTheClass.test(myObject)) {
        // do something
    }
    
        

    提交回复
    热议问题