перечитывал статью про этот оператор, и никак не пойму вот код
public class Main {

   public static void main(String[] args) {

       Integer x = new Integer(22);

       System.out.println(x instanceof String);// ошибка!
   }
}
почему компилятор выдает ошибку? instanceof выдает истинну или ложь, значит должно компилироваться и писать в консоль "false"