Как привести Объект к int - PullRequest
       30

Как привести Объект к int

196 голосов
/ 07 сентября 2010

Как я могу привести Объект к int в Java?

Ответы [ 18 ]

2 голосов
/ 07 сентября 2010

Если 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));

Смотри также:

1 голос
/ 24 декабря 2014

Для примера объекта переменная;hastaId

Object hastaId = session.getAttribute("hastaID");

Например, приведение объекта к целому, hastaID

int hastaID=Integer.parseInt(String.valueOf(hastaId));
1 голос
/ 21 мая 2014
int[] getAdminIDList(String tableName, String attributeName, int value) throws SQLException {
    ArrayList list = null;
    Statement statement = conn.createStatement();
    ResultSet result = statement.executeQuery("SELECT admin_id FROM " + tableName + " WHERE " + attributeName + "='" + value + "'");
    while (result.next()) {
        list.add(result.getInt(1));
    }
    statement.close();
    int id[] = new int[list.size()];
    for (int i = 0; i < id.length; i++) {
        try {
            id[i] = ((Integer) list.get(i)).intValue();
        } catch(NullPointerException ne) {
        } catch(ClassCastException ch) {}
    }
    return id;
}
// enter code here

Этот код показывает, почему ArrayList важен и почему мы его используем. Просто кастинг int от Object. Может быть полезным.

1 голос
/ 07 сентября 2010

Полагаю, вам интересно, почему C или C ++ позволяют вам манипулировать указателем объекта, как числом, но вы не можете манипулировать ссылкой на объект в Java таким же образом.

Ссылки на объект в Java aren 't как указатели в C или C ++ ... Указатели в основном являются целыми числами, и вы можете манипулировать ими, как и любой другой int.Ссылки намеренно представляют собой более конкретную абстракцию, и ими нельзя манипулировать так, как это делают указатели.

1 голос
/ 07 сентября 2010

Если вы имеете в виду приведение String к int, используйте Integer.valueOf("123").

Однако вы не можете привести большинство других объектов к int, поскольку они не имеют значения int.Например, XmlDocument не имеет значения int.

0 голосов
/ 27 января 2019
so divide1=me.getValue()/2;

int divide1 = (Integer) me.getValue()/2;
0 голосов
/ 02 октября 2014

См. Этот код:

public class sample 
{
  public static void main(String[] args) 
  {
    Object obj=new Object();
    int a=10,b=0;
    obj=a;
    b=(int)obj;

    System.out.println("Object="+obj+"\nB="+b);
  }
}
0 голосов
/ 08 сентября 2010

Первая проверка с ключевым словом instanceof. если это правда, тогда разыграйте его.

...