Если Object
изначально был создан как Integer
, то вы можете уменьшить его до int
, используя оператор приведения (Subtype)
.
Object object = new Integer(10);
int i = (Integer) object;
Обратите внимание, что это работает только тогда, когда вы используете по крайней мере Java 1.5 с функцией автобокса , в противном случае вы должны объявить i
как Integer
и затем вызвать intValue()
на нем .
Но если он изначально вообще не был создан как Integer
, то вы не можете так опускать руки. Это приведет к ClassCastException
с исходным именем класса в сообщении. Если представление toString()
объекта, полученное с помощью String#valueOf()
, обозначает синтаксически допустимое целое число (например, только цифры, если необходимо, со знаком минус впереди), тогда вы можете использовать Integer#valueOf()
или new Integer()
для этого.
Object object = "10";
int i = Integer.valueOf(String.valueOf(object));
Смотри также: