近期由于项目的原因,需要把.net开发的一个项目向Java转,其中用到Java中的结构体函数,现在就来说说具体的用法吧。
首先新建一Java类,命名为:structure.java
定义一结构体:
class DBUserXX{
String DLName = "";
String TrueName = "";
String Jh = "";
}
新建函数给结构体付值:
public DBUserXX GetUserXX() throws Exception{
DBUserXX dbUserXX = new DBUserXX();
dbUserXX.DLName = "dlname";
dbUserXX.TrueName = "Truename";
dbUserXX.Jh = "jh";
return dbUserXX;
}
新建测试类main()函数。
public static void main(String args[]) throws Exception
{
DBUserXX e = new DBUserXX();
System.out.println("DLName = "+e.DLName+"; TrueName = "+e.TrueName+"; Jh = "+e.Jh);
}
这样就完成了测试了。
现在我们再来说说更复杂的用法。
假设现在需要对结构体付多组值,那么我们需要把上面所讲的方法进行扩展,需要用到ArrayList。
扩展GetUserXX()函数:
public List GetUserXX() throws Exception{
String sql = "select dlname,Truename,jh from UserXX";
OracleConnection oc = new OracleConnection();
oc.open();
ResultSet rs = oc.executeSelect(sql);
List list = new ArrayList();
while(rs.next()){
DBUserXX dbUserXX = new DBUserXX();
dbUserXX.DLName = rs.getString("dlname");
dbUserXX.TrueName = rs.getString("Truename");
dbUserXX.Jh = rs.getString("jh");
list.add(dbUserXX);
}
rs.close();
return list;
}
这样GetUserXX() 返回值中就包含多个DBUserXX 类型的结构体了(关于数据库连接方面在此不多讲,网上有许多这方面的资料)。
对DBUserXX()的使用:
修改main()为:
public void main(String args[]) throws Exception
{
System.out.println("Start .........");
List list = GetUserXX();
for (int i = 0; i <list.size(); i++) {
DBUserXX e=(DBUserXX )list.get(i);
System.out.println("DLName = "+e.DLName+"; TrueName = "+e.TrueName+"; Jh = "+e.Jh);
}
System.out.println("End .........");
}
这样就可以完成测试了。
完结!