При написании кода для проверки типа данных записей в массиве 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), поэтому меня это сбивает с толку.
instanceof
не работает с примитивными типами данных. Только предметы. - person Tim Hunter   schedule 29.02.2020boolean result = Double.class.isInstance(arr[0]);
, похоже, работает! Кроме того, если вы не возражаете, я уточню: разве моя IDE не ошибается, говоря, чтоdouble
не может быть преобразовано вdouble
? Я помню, что в IntelliJ это было бы серым цветом (поскольку это было бы избыточным), но, конечно, не невозможно ... - person Mew   schedule 29.02.2020