java用字符串动态创建对象

Python07

java用字符串动态创建对象,第1张

/**

* 根据传入的类名和值,动态构造该类的实例

*

* @param _sClassName

*要构造的类名 如:java.lang.String

* @param _sRealValue

*要创建的对象的值,比如“wuguowei”

* @return 返回String对象,即值为“wuguowei”的字符串

* @throws Exception

*/

private Object getAttributeObject(String _sClassName, String _sRealValue)

throws Exception {

//1.加载类对象

Class attrObjClass = Class.forName(_sClassName)

//2.如果是Long类

if (attrObjClass.isInstance(new Long(0))) {

return new Long(_sRealValue)

}

//3.如果是Integer类

if (attrObjClass.isInstance(new Integer(0))) {

return new Integer(_sRealValue)

}

//4.其他类型……

//5.返回当前类的实例对象

return attrObjClass

}

首先,程序开发中,变量、方法名应该尽可能的定义做到顾名思义,即让人看到你的名称就大概的知道其的含义了。

其次,by with for三个都是英语中的介词,他们在上面的定义中跟在英语的意思是一样的,即是"以...、用....、通过...."的意思,就比如你题目中方法,意思就是通过卡号获取卡片信息。

现在大体明白了吧。

有问题欢迎提问,满意请采纳!

//首先,先用SQL查询出来,因为不止一条记录,所以用Lis在去存放

//这里是数据层的代码(参考就行)

public List<Inventory>getByCode() {

List<Inventory>list = new ArrayList()

try {

conn = this.db.getConnection()

String sql = "select cInvCode,cInvName,cInvStd,cInvAddCode,cInvABC,dSDate," +

"cComUnitCode,cGroupCode ,iSupplyType,bInTotalCost " +

"from Inventory "

ps = conn.prepareStatement(sql)

rs = ps.executeQuery()

while (rs.next()) {

Inventory ic = new Inventory()

ic.setCInvCode(rs.getString("cInvCode"))

ic.setCInvName(rs.getString("cInvName"))

ic.setCInvStd(rs.getString("cInvStd"))

ic.setCInvABC(rs.getString("cInvABC"))

ic.setCInvAddCode(rs.getString("cInvAddCode"))

ic.setDSDate(rs.getDate("dSDate"))

ic.setCComUnitCode(rs.getString("cComUnitCode"))

ic.setCGroupCode(rs.getString("cGroupCode"))

ic.setISupplyType(rs.getInt("iSupplyType"))

ic.setBInTotalCost(rs.getInt("bInTotalCost"))

list.add(ic)

}

} catch (Exception e) {

e.printStackTrace()

} finally {

try {

rs.close()

this.db.closeAll(conn, ps)

} catch (SQLException e) {

e.printStackTrace()

}

}

return list

}

//然后在业务层里调用这个方法

list.size();//这样你就能取到数据库表有多少条记录了