近期由于項目的原因,需要把.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 .........");
? }
這樣就可以完成測試了。
完結!