一、引言 在學習集合的時候我們會發現一個問題,將一個對象丟到集合中后,集合並不記住對象的類型,統統都當做Object處理,這樣我們取出來再使用時就得強制轉換類型,導致代碼臃腫,而且加入集合時都是以Object,沒做類型檢查,那么強制轉換就容易出錯,泛型的誕生就是為解決這些問題。 二、使用泛型 ...
. Why 引入泛型機制的原因 假如我們想要實現一個String數組,並且要求它可以動態改變大小,這時我們都會想到用ArrayList來聚合String對象。然而,過了一陣,我們想要實現一個大小可以改變的Date對象數組,這時我們當然希望能夠重用之前寫過的那個針對String對象的ArrayList實現。 在Java 之前,ArrayList的實現大致如下: 從以上代碼我們可以看到,用於向Arr ...
2016-03-17 22:46 5 3807 推薦指數:
一、引言 在學習集合的時候我們會發現一個問題,將一個對象丟到集合中后,集合並不記住對象的類型,統統都當做Object處理,這樣我們取出來再使用時就得強制轉換類型,導致代碼臃腫,而且加入集合時都是以Object,沒做類型檢查,那么強制轉換就容易出錯,泛型的誕生就是為解決這些問題。 二、使用泛型 ...
1. 概述 Java集合框架由Java類庫的一系列接口、抽象類以及具體實現類組成。我們這里所說的集合就是把一組對象組織到一起,然后再根據不同的需求操縱這些數據。集合類型就是容納這些對象的一個容器。也就是說,最基本的集合特性就是把一組對象放一起集中管理。根據集合中是否允許有重復的對象、對象 ...
本篇博文會從代理的概念出發,介紹Java中動態代理技術的使用,並進一步探索它的實現原理。由於個人水平有限,敘述中難免出現不清晰或是不准確的地方,希望大家可以指正,謝謝大家:) 一、概述 1. 什么是代理 我們大家都知道微商代理,簡單地說就是代替廠家賣商品,廠家“委托”代理 ...
本博文是對Java中注解相關知識點的簡單總結,若有敘述不清晰或是不准確的地方,希望大家可以指正,謝謝大家:) 一、什么是注解 我們大家都知道Java代碼中使用注釋是為了向以后閱讀這份代碼的人解釋說明一些事情,注解是注釋的升級版,它可以向編譯器、虛擬機等解釋說明一些事情。比如我們非常熟 ...
1. 概述 Java 反射是可以讓我們在運行時獲取類的方法、屬性、父類、接口等類的內部信息的機制。也就是說,反射本質上是一個“反着來”的過程。我們通過new創建一個類的實例時,實際上是由Java虛擬機根據這個類的Class對象在運行時構建出來的,而反射是通過一個類的Class對象來獲取 ...
使用泛型機制編寫的代碼要比那些雜亂地使用Object變量,然后再進行強制類型轉換的代碼具有更好的安全性和可讀性。 泛型對於集合類尤其有用 1 為什么要使用泛型程序設計 泛型程序設計意味着編寫的代碼可以被很多不同類型的對象所重用。 1.1 類型參數的好處 在Java中增加泛型類之前,泛型 ...
[ 本文主要從整體上介紹Java中的多線程技術,對於一些重要的基礎概念會進行相對詳細的介紹,若有敘述不清晰以及不合理的地方,希望大家指出,謝謝大家:) ] 一、為什么使用多線程 1. 並發與並行 我們知道,在單核機器上,“多進程”並不是真正的多個進程在同時執行,而是通過CPU ...
1. 為什么要使用內部類 內部類就是定義在一個類內部的類,那么為什么要使用內部類呢?主要原因有以下幾點:第一,內部類中定義的方法能訪問到它所在外部類的私有屬性及方法;第二,外部類無法實現對同一包中的其他類隱藏,而內部類可以做到這一點;第三,匿名內部類在我們只需使用該類的實例依次時 ...