У меня есть ArrayList объектов ArrayList<Object> arrList
, содержащий классы-обертки для различных примитивов, а также массив типа Параметр Parameter[] parameters
Оба имеют одинаковое количество элементов.Я хотел бы пройтись по элементам параметров и сравнить, что их типы совпадают с типами в arrList.
Я понимаю, что существует много способов сравнения int с Integer.lang.Integer, таких как простое приведениеint и Integer, а затем сравнение, но у моего Parameter [] есть целые числа, логические значения, числа с плавающей точкой и т. д., а у моего ArrayList есть целые числа, числа с плавающей точкой, логические значения и т. д., поэтому я не всегда уверен, какое значение будет иметь значение.Я не думаю, что я действительно понимаю, как представлены примитивы.Например, я предполагал, что следующий оператор вернет true, но это не так:
Boolean bool=true;
System.out.println(boolean.class==bool.getClass());
У меня есть соответствующий бит кода:
for(int i=0; i<parameters.length; i++){
if(parameters[i].getType()==arrList.get(i).getClass()){
doSomething();
}
}
Но сравнение всегда возвращает false дажекогда он сравнивает boolean.class с Boolean.getClass ()
Спасибо за любую помощь / совет