亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

實例分析Java泛型

 更新時間:2018年02月28日 14:38:04   作者:彬菌  
本篇文章通過代碼實例給大家講述了Java泛型的相關知識點以及相關的代碼分析,對此有興趣的朋友學習下。

泛型:即“參數化類型”,所操作的數據類型被指定為一個參數。該機制允許程序員在編譯時檢測到非法的類型。

不使用泛型與使用泛型的區(qū)別

不使用泛型代碼:

import java.util.ArrayList;
import java.util.List;

public class NoGenerics {
	public static void main(String[] args){
		List arrayList=new ArrayList();
		arrayList.add("1"); //字符類型
		arrayList.add(1); //數字類型
		
		for(int i=0;i<arrayList.size();i++){
			String s=(String) arrayList.get(i); //強制轉換,但無法轉換為字符類型,且編譯不報錯
			System.out.println(s);
		}
	}
}

使用泛型代碼:

import java.util.ArrayList;
import java.util.List;

public class Generics {
	public static void main(String[] args){
		List<String> stringList = new ArrayList<String>();
		List<Integer> integerList = new ArrayList<>(); //簡化
		
		stringList.add("1");
//		stringList.add(1); //編譯報錯,只能添加字符類型
		
		integerList.add(1);
//		integerList.add("1"); //編譯報錯,只能添加數字類型
		
		for(int i=0;i<stringList.size();i++){
			String s=stringList.get(i);
			System.out.println(s);
		}
		
		for(int j=0;j<integerList.size();j++){
			int i=integerList.get(j);
			System.out.println(i);
		}
		
	}
}

注意:在jdk版本較高中,List<String> stringList = new ArrayList<String>();可以簡寫為List<String> stringList = new ArrayList<>();

泛型的優(yōu)點:

1、類型安全;例如List<String> 就只能插入String類型,簡單來說就是限制類型。

2、消除強制類型轉換;使得代碼更加可讀,并且減少了出錯機會。

3、潛在的性能收益;泛型為較大的優(yōu)化帶來可能,沒有泛型的話,程序員會指定這些強制類型轉換。

注意:

1、泛型的類型參數只能是類類型(包括自定義類),不能是簡單類型。例如List<String,Person>

2、泛型的類型參數可以有多個,例如List<String,Integer>

相關文章

  • java開發(fā)RocketMQ生產者高可用示例詳解

    java開發(fā)RocketMQ生產者高可用示例詳解

    這篇文章主要為大家介紹了java開發(fā)RocketMQ生產者高可用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • mybatis mapper.xml獲取insert后的自增ID問題

    mybatis mapper.xml獲取insert后的自增ID問題

    這篇文章主要介紹了mybatis mapper.xml獲取insert后的自增ID問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • springmvc @RequestBody String類型參數的使用

    springmvc @RequestBody String類型參數的使用

    這篇文章主要介紹了springmvc @RequestBody String類型參數的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 三步輕松搭建springMVC框架

    三步輕松搭建springMVC框架

    這篇文章主要教大家三步輕松搭建springMVC框架,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 什么是Spring Boot

    什么是Spring Boot

    Spring是一個非常受歡迎的Java框架,它用于構建web和企業(yè)應用。本文介紹將各種Spring的配置方式,幫助您了解配置Spring應用的復雜性
    2017-08-08
  • JavaEE中關于ServletConfig的小結

    JavaEE中關于ServletConfig的小結

    ServletConfig是針對特定的Servlet的參數或屬性。ServletConfig是表示單獨的Servlet的配置和參數,只是適用于特定的Servlet。從一個servlet被實例化后,對任何客戶端在任何時候訪問有效,但僅對本servlet有效,一個servlet的ServletConfig對象不能被另一個servlet訪問
    2014-10-10
  • Java  解決死鎖的方法實例詳解

    Java 解決死鎖的方法實例詳解

    這篇文章主要介紹了java 多線程死鎖詳解及簡單實例的相關資料,需要的朋友可以參考下
    2017-04-04
  • Java中Comparable與Comparator的區(qū)別解析

    Java中Comparable與Comparator的區(qū)別解析

    這篇文章主要介紹了Java中Comparable與Comparator的區(qū)別解析,實現Comparable接口,重寫compareTo方法,一般在實體類定義的時候就可以選擇實現該接口,提供一個默認的排序方式,供Arrays.sort和Collections.sort使用,需要的朋友可以參考下
    2024-01-01
  • SpringBoot集成Mybatis過程步驟圖解

    SpringBoot集成Mybatis過程步驟圖解

    這篇文章主要介紹了SpringBoot集成Mybatis過程步驟圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Spring?Data?Elasticsearch?5.0.x修改數據后無法立即刷新解決方法示例

    Spring?Data?Elasticsearch?5.0.x修改數據后無法立即刷新解決方法示例

    這篇文章主要為大家介紹了Spring?Data?Elasticsearch?5.0.x修改數據后無法立即刷新解決方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08

最新評論