我如何在java中将对象转换为int型?
当前回答
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很重要,以及为什么要使用它。简单地从Object转换int。可能会有帮助。
其他回答
so divide1=me.getValue()/2;
int divide1 = (Integer) me.getValue()/2;
如果对象最初被实例化为Integer,那么可以使用强制转换操作符(子类型)将其向下转换为int。
Object object = new Integer(10);
int i = (Integer) object;
注意,这只适用于至少使用带有自动装箱功能的Java 1.5,否则必须将i声明为Integer,然后对其调用intValue()。
但如果它最初根本不是作为Integer创建的,那么你就不能像这样向下转换。它将导致消息中带有原始类名的ClassCastException。如果通过String#valueOf()获得的对象的toString()表示一个语法上有效的整数(例如,只有数字,如果需要前面有一个负号),那么你可以使用integer #valueOf()或new integer()。
Object object = "10";
int i = Integer.valueOf(String.valueOf(object));
参见:
继承和强制转换教程
我在处理来自GSON的数据时使用一行程序:
int i = object != null ? Double.valueOf(object.toString()).intValue() : 0;
如果你确定这个对象是一个Integer:
int i = (Integer) object;
或者,从Java 7开始,你可以等价地写:
int i = (int) object;
注意,如果你的对象不是Integer,它会抛出ClassCastException,如果你的对象是null,它会抛出NullPointerException。
通过这种方式,您假设您的对象是一个整数(包装的整型),并将其拆箱为整型。
int是一个原语,所以它不能存储为对象,唯一的方法是将int考虑/装箱为整数,然后存储为对象。
如果你的对象是一个String,那么你可以使用Integer.valueOf()方法将它转换成一个简单的int:
int i = Integer.valueOf((String) object);
如果对象不是一个包含整数的String对象,它可以抛出NumberFormatException异常。
资源:
自动装箱 原始数据类型
关于同一话题:
Java:自动装箱和强制转换有什么区别? 自动装箱:我可以这样写:Integer I = 0;而不是:Integer i = new Integer(0); 将Object转换为原始int
答:
int i = ( Integer ) yourObject;
如果你的对象已经是一个整数,它将顺利运行。即:
Object yourObject = 1;
// cast here
or
Object yourObject = new Integer(1);
// cast here
etc.
如果你的对象是其他类型的对象,你需要先将它(如果可能的话)转换为int类型:
String s = "1";
Object yourObject = Integer.parseInt(s);
// cast here
Or
String s = "1";
Object yourObject = Integer.valueOf( s );
// cast here
推荐文章
- 如何分割逗号分隔的字符串?
- Java字符串—查看字符串是否只包含数字而不包含字母
- Mockito.any()传递带有泛型的接口
- 在IntelliJ 10.5中运行测试时,出现“NoSuchMethodError: org.hamcrest. matcher . descripbemismatch”
- 使用String.split()和多个分隔符
- Java数组有最大大小吗?
- 在Android中将字符串转换为Uri
- 从JSON生成Java类?
- 为什么java.util.Set没有get(int index)?
- 合并两个PHP对象的最佳方法是什么?
- Swing和AWT的区别是什么?
- 为什么Java流是一次性的?
- 四舍五入BigDecimal *总是*有两位小数点后
- 设计模式:工厂vs工厂方法vs抽象工厂
- Java:检查enum是否包含给定的字符串?