摘要: instanceof是Java的一個二元操作符,和==,>,<是同一類東東。由于它是由字母組成的,所以也是Java的保留關鍵字。它的作用是測試它左邊的對象是否是它右邊的類的實例,返回boolean類型的數據
閱讀全文
摘要: 重寫Override是父類與子類之間多態性的一種表現,重載Overload是一個類中多態性的一種表現。
在Java語言規范里,一個方法的特征僅包括方法的名字、參數的數目和種類,而不包括返回類型、參數的名字以及拋出的異常。Java編譯器檢查方法的重載Overload時會根據這些條件判斷兩個方法是否重載了。
但是Java編譯器在檢查方法的重寫時,則會進一步的檢查兩個方法的返回類型和拋出的異常是否相同。
閱讀全文
摘要: java:獲取類文件所在的真實路徑
1:this.getClass().getClassLoader().getResource("/").getPath();
2:this.getClass().getResource("/").getPath();
注意:
1.如果文件不存在的話,將會發生nullpointerException
2.如果想獲取web-inf/classes的路徑,可以通過"/."獲取
獲取web服務器所在的真實路徑
request.getContextPath();
閱讀全文
摘要: 在使用JDBC連接數據庫的時,我們會采用executeQuery(String sql)獲得一個結果集。當數據庫結構變化或者獲得其他數據庫表結果集的時候我們需要將ResultSet結果集根據不同的數據結構重新遍歷。
如何才能建立一個與數據庫結構無關的JDBC連接呢?我們可以通過使用ResultSetMetaData()方法獲得表結構。然后使用Object[]數組遍歷結果集。當我們要取得相應的結果時,我們可以使用Iterator迭代器。只要遍歷迭代器就可以取出結果。
閱讀全文
摘要: JDBC中ResultSet類中,我們可以使用next()方法從結果集中的一條記錄移動到下一條記錄。同時我們還可以在定義Statement或PrepareStatement時指定結果集是否可滾動或更新。以下是注意事項:
1. 即使使用了CONCUR_UPDATABLE參數來創建Statement,得到的結果集也不一定是“可更新的”。如果你的記錄集來自合并查詢,這樣的結果集就可能是不可更新的。可以使用ResultSet類的getConcurrency()方法來確定是否為可更新結果集。
2.在JDBC中使用可更新的結果集來更新數據庫,不能使用"select * from table"方式的sql語句,必須寫成以下兩種形式之一:<1>.select table.* from table <2>.select column1,column2,column3 from table
3.如果使用的JDBC版本是3.0 (JDK1.4以后的版本),使用CallableStatement的setXXX()方法來設置IN參數時,既可以使用索引,也可以使用參數名稱。如果使用JDBC
閱讀全文
摘要: 在編寫Java程序的時候為了讓Java具有更好的可擴展性,我們需要將一些常用的、需要的根據實際情況改變的屬性存在文本文件中。JDK5提供了屬性持久化支持。
java.util.Properties中提供了對普通文本和xml文件屬性的讀取方法。在利用Java對屬性文件進行讀取和更新前我們需要先將文件加入輸入輸出流中。
1.屬性讀取:讀取普通文本可以使用load(InputStream in)、loadFromXML(InputStream in)方法將輸入流內容讀入屬性列表。然后,通過getProperty(String key)按照指定的鍵在此屬性列表中搜索屬性。
2. 屬性更新:更新屬性列表setProperty(String key,String value),store(OutputStream out,String comments)和storeToXML(OutputStream out,String comments)可以將屬性列表寫入輸出流中。
Properties繼承自Hashtable,Properties類的出現簡化了對屬性持久化的操
閱讀全文