Я пытаюсь сравнить два Object
, тип которых неизвестен во время выполнения, но по крайней мере гарантируется, что тип будет иметь некоторую форму Number
. Есть ли способ сравнить Object
с базовым классом Number
без явного приведения объекта к одному из целых типов Java?
Так, например:
Object objectInt1 = (Integer) 5;
Object objectInt2 = (Integer) 6;
if (objectInt1 > objectInt2) {
// Clearly won't compile
}
if ((Number) objectInt1 > (Number) objectInt2) {
// This of course won't compile either
}
Единственный способ, с помощью которого я могу решить sh, это использовать instanceof
, проверять каждый целочисленный тип и выполнять явное приведение. Но, возможно, есть более чистый способ сделать это.