Java JDK11. Явное приведение типов с помощью функции

Изучая рефлексию в java столкнулся с необходимостью явного приведения типов. Но дело в том, что по моей задаче требуется приводить или к long, или к int, или к byte, или к short, и таким образом на первых парах код превращается в что-то такое:

byte flag = GetIntFlag(field);
if ((flag == 0 && (long)field.get(object) <= 0) ||
    (flag == 1 && (int)field.get(object) <= 0) ||
    (flag == 2 && (short)field.get(object) <= 0) || 
    (flag == 3 && (byte)field.get(object) <= 0)) //Do something 

. . .

private byte getIntFlag(Field field)
{
    if (field.getType().equals(long.class)) return 0;
    if (field.getType().equals(int.class)) return 1;
    if (field.getType().equals(short.class)) return 2;
    if (field.getType().equals(byte.class)) return 3;
    return 4;
}

Есть ли возможность передавать тип для явного приведения в помощью функции, в которой уже были бы все нужные проверки, чтобы код имел вид:

if ((SomeFunction(field))field.get(object) <= 0) //Do something 

Если да, какого типа значение должна возвращать функция? Заранее спасибо.


Ответы (0 шт):