В чем разница между Instanceof Operator и Getclass () в Java?

2 Ответы


  • Метод GetClass () в классе объекта:

    String s = new String ();

    System.out.printl />
    Возвращает класс среды выполнения объекта. Здесь объект - s, а его тип - String, поэтому он возвращает String

    ------

    instanceof - ключевое слово.
    Он проверяет ссылку на объект, если она определена классом или его подклассами, и возвращает логическое значение;
    В instanceof Object вернет true для всех ссылок на объекты, поскольку все объекты Java унаследованы от Object . Обратите внимание, что instanceof всегда будет возвращать false, если равно нулю .
    Синтаксис:
    instanceof ClassName

    например

    dog instanceof Dog :: Истинный
    далматинский экземпляр Dog   :: Истинный
    экземпляр далматинской собаки :: Ложная

    надежда, это помогает ...



  • Причина, по которой производительность instanceof и getClass ()
    == ... отличается, в том, что они делают разные вещи.

    • instanceof проверяет
          , является ли ссылка на объект в левой части (LHS) экземпляром
          типа в правой части (RHS) или некоторым подтипом .
    • getClass ()
          == ... Проверяет идентичность типов.

    Поэтому рекомендуется игнорировать проблему производительности и
    использовать альтернативу, которая дает вам нужный ответ.


Напишите свой ответ

Ваш ответ появится после модерации