Java - неконвертируемые типы; не может преобразовать 'double' в 'double'

При написании кода для проверки типа данных записей в массиве Java 11 я столкнулся с ошибкой времени компиляции, которую я не могу найти нигде в Google или SO. Я использую IntelliJ IDEA JetBrains, и редактор выдает мне ошибку «Неконвертируемые типы; невозможно преобразовать 'double' в 'double'.» для второй строки в следующем MWE (т. Е. поместите внутрь метода main и т. д.):

double[] arr = new double[] {0.1, 0.2};
boolean result = arr[0] instanceof double;

Я действительно не понимаю, что здесь не так. Разве instanceof не аналогичен isinstance в Python? Новичок в Java (не в Python и не в производной от Java Processing), поэтому меня это сбивает с толку.


person Mew    schedule 28.02.2020    source источник
comment
Если я правильно помню, instanceof не работает с примитивными типами данных. Только предметы.   -  person Tim Hunter    schedule 29.02.2020
comment
Какой в ​​этом смысл? Примитивы не поддерживают наследование.   -  person shmosel    schedule 29.02.2020
comment
@azurefrog: Превращение второй строки в boolean result = Double.class.isInstance(arr[0]);, похоже, работает! Кроме того, если вы не возражаете, я уточню: разве моя IDE не ошибается, говоря, что double не может быть преобразовано в double? Я помню, что в IntelliJ это было бы серым цветом (поскольку это было бы избыточным), но, конечно, не невозможно ...   -  person Mew    schedule 29.02.2020