java核心技術(8)泛型程式設計
泛型程式設計(Generic programming) 意味著編寫的程式碼可以被很多不同型別的物件所重用。
比雜亂的使用Object物件然後再進行強制型別轉換具有更好的可讀性和安全性。尤其對於集合。
public static <T extends Comparable> T min(T [] a)
表示T應該是實現了Comparable介面的類(此處extends表示繫結)
虛擬機器中沒有泛型,編譯時轉換為原始型別,由此帶來以下幾個問題:
1、不能使用基本型別例項化型別引數
2、執行時型別查詢只適用於原始型別
3、不能丟擲也不能捕獲泛型類例項
4、引數化型別陣列不合法
5、不能使用new例項化型別變數
6、泛型類的靜態上下文中型別變數無效
需要注意繼承與普通類不一樣
萬用字元:
有限定萬用字元:Pair<? extends Apple> Pair<? super Apple>
無限定萬用字元:Pair<?>
相關推薦
java核心技術(8)泛型程式設計
泛型程式設計(Generic programming) 意味著編寫的程式碼可以被很多不同型別的物件所重用。 比雜亂的使用Object物件然後再進行強制型別轉換具有更好的可讀性和安全性。尤其對於集合。 public static <T extends Comparab
java核心技術(8)第四章
1、面向過程程式設計:演算法+資料=程式 面向物件程式設計:資料+演算法=程式(更容易掌握,理解,找bug) 2、封裝(encapsulation) 關鍵在於絕對不能讓類中的方法直接方位其他類的例項域。程式僅通過方法與物件的資料交付。 這是提高重用性和可靠性的關鍵。
java核心技術(8)異常
異常: 程式錯誤導致的異常屬於RuntimeExcepiton 如果出現RuntimeException異常,那麼就一定是你的問題! error和RuntimeException稱為未檢查異常,其他的稱為已檢查異常,編譯器將檢查是否為所有已檢查異常提供了異常處理器
java 核心技術卷I學習記錄(八)- 泛型程式設計
java 核心技術卷第八章:泛型程式設計 ##1. 為什麼要使用泛型程式設計 泛型程式設計(Generic programming) 意味著編寫的程式碼可以被很多不同型別的物件所重用。 2. 定義簡單泛型類 public class Pair<T>
JAVA基礎複習(六)泛型和集合
1、泛型的優點是能在編譯時檢測出錯誤,一旦編譯器認為泛型型別是安全使用的,就會將它轉換為原始型別,泛型類或方法允許使用者指定可以和這些類或方法一起工作的物件型別 2、泛型型別必須是引用型別,不能使用int、double等基本型別來替代泛型集合 3、泛型集合類的構造方法和普通類相同,定義一個泛
Java知識點總結(四)泛型和集合
GenericStack<Integer> intStack = new GenericStack<>();泛型方法(靜態方法定義): public static <E extends GeometricObject> boolean equalArea(E object
Java核心技術第八章-泛型
摘要 本文根據《Java核心技術 卷一》一書的第八章總結而成,部分文章摘抄書內,作為個人筆記。 文章不會過於深入,望讀者參考便好。 為什麼要使用泛型程式設計 泛型程式設計(Generic programming) 意味著編寫的程式碼可以被很多不同型別的物件所重用。 型別引數的好處 在沒有泛型類之前,Array
C++知識點(十)泛型程式設計與C++STL標準模板庫
1.泛型程式設計 把程式碼從特定的資料結構中分離出來,使得它不依賴於特定的資料結構而更加通用 容器->迭代器->演算法 介面卡 2.概念:用於界定具備一定功能的資料型別 comparable:可比較 Assignable:可賦值 Sortable:可比較且可賦值 3.模型:符合一個
Java設計模式(8)——創建型模式之合成(組合)模式
span color java設計 合成 src 一致性 rdquo img spa 一、概述 定義 將對象以樹形結構組織起來,以達成“部分-整體” 的層次結構,使得客戶端對單個對象和組合對象的使用具有一致性。 簡圖 J
java基礎(3)-----泛型
1.概述(什麼是泛型?) 泛型,即“引數化型別”,顧名思義,將具體的型別引數化,在呼叫的時候再傳入具體的型別 2.一個簡單的例子 public class GenericTest { public static void main(String[] args) {
java反射(9)泛型和Class類
在不適用泛型的時候,必須將利用反射得到的物件進行強制轉換才可以對他進行相應的賦值,如下 package Chapter_6; import java.util.Date; public class YeekuObjectFactory { public stat
java核心技術-(總結自楊曉峰-java核心技術36講)
1. 談談你對java平臺的理解 首先是java最顯著的兩個特性,一次寫入處處執行;還有垃圾收集器gc,gc能夠對java記憶體進行管理回收,程式設計師不需要關心記憶體的分配和回收問題 然後談談jre和jdk的區別,jre包含了jvm和java類庫;jdk除了jvm和java類庫,還包含了一些ja
《瘋狂Java講義》學習筆記(八)泛型
1、概述 增加泛型其中一個重要原因是為了讓集合能記住其元素的資料型別,防止從集合取出物件時,強轉型別容易引起ClassCastExeception異常 泛型將執行時異常轉移至編譯時異常: List list = new ArrayList(); li
java基礎複習(集合、泛型、IO流、多執行緒、Junit 、內省 、Properties、 路徑問題)
集合 ---|Collection: 單列集合 ---|List: 有儲存順序, 可重複 ---|ArrayList: 陣列實現, 查詢快, 增刪慢 由於是陣列
Java核心技術(卷二):高階特性 中文第9版 英文第10版 Core Java Volume II【帶目錄高清pdf下載】
放心下載pdf地址:必看理由:Java入門必看暢銷書,核心技術的卷二,經典中的經典,與《Java程式設計思想》並稱為Java入門的“倚天劍”和“屠龍刀”。豆瓣評分:8.5美國亞馬遜評分:4.8網友評論:(豆瓣網友)卷二雖然是高階特性,但是其中的io、檔案系統、正則表示式、網路
Java泛型(一) 泛型的基本使用和介紹
轉載自:http://blog.csdn.net/lonelyroamer/article/details/7864531 現在開始深入學習java的泛型了,以前一直只是在集合中簡單的使用泛型,根本就不明白泛型的原理和作用。泛型在java中,是一個十分重要的特性,所以要
《Java核心技術(卷1)》筆記:第7章 異常、斷言和日誌
## 1. 異常 1. (P 280)異常處理需要考慮的問題: * 使用者輸入錯誤 * 裝置錯誤 * 物理限制 * 程式碼錯誤 2. (P 280)傳統的處理錯誤的方法是:返回一個特殊的**錯誤碼**,常見的是返回-1或者`null`引用 3. (P 280)在Java中,方法
Java(7)泛型
[TOC] ## 一、泛型概述 ### 1、什麼是泛型 - 泛型就是**標籤**,加了泛型,就相當於加了標籤,這個容器就只能放這一類物品。 - 把元素的型別設引數,這個型別引數叫做泛型。`Collection,List,ArrayList` 這個``就是型別引數,即泛型。 - **所謂泛型,就是允許在定義
Java加密技術(一)——BASE64與單向加密算法MD5&SHA&MAC
sha256 integer 被人 sent 發現 Coding design 如果 targe http://snowolf.iteye.com/blog/379860 加密解密,曾經是我一個畢業設計的重要組件。在工作了多年以後回想當時那個加密、解密算法,實在是太單
實習培訓——Java異常處理(8)
如何工作 出了 我們 個數 試圖 類對象 bject epo 很多 實習培訓——Java異常處理(8) Java 異常處理 異常是程序中的一些錯誤,但並不是所有的錯誤都是異常,並且錯誤有時候是可以避免的。 比如說,你的代碼少了一個分號,那麽運行出來結果是提示是錯誤 java