Java学习笔记之泛型(三):泛型类
来源:互联网 发布:新浪nba球员数据 编辑:程序博客网 时间:2024/05/16 11:35
package com.collection.genericity;/* * 泛型类; * * 需求:编写一个数组的工具类; * * 泛型类的定义格式: * class 类名 <声明自定义泛型>{ * } * * 泛型类要注意的事项: * 1、在类上自定义泛型的具体数据类型是在使用该类创建对象的时候确定的; * 2、如果已经在一个类上声明了自定义泛型,但是使用该类创建对象的时候没有指定泛型的具体数据类型,那么默认为Object类型; * 3、在类上自定义的泛型不能作用于静态方法上;如果静态的方法需要使用泛型,需要在方法上自己声明使用; */class MyArrays<T>{// 元素翻转public void reverse(T[] arr){for (int startIndex=0,endIndex=arr.length-1; startIndex<endIndex; startIndex++,endIndex--){T temp = arr[startIndex];arr[startIndex] = arr[endIndex];arr[endIndex] = temp;}}// 获取数组中所有的元素public String toString(T[] arr){StringBuilder sb = new StringBuilder();for (int i = 0; i < arr.length; i++){if (i == 0){sb.append("[" + arr[i] + ",");}else if (i == arr.length-1){sb.append(arr[i] + "]");}else{sb.append(arr[i] + ",");}}return sb.toString();}// 注意事项3:在类上自定义的泛型不能作用于静态方法上;如果静态的方法需要使用泛型,需要在方法上自己声明使用;public static <T> void print(T[] t){}}public class Demo3 {public static void main(String[] args) {// 声明一个数组Integer[] arr = {22, 33, 16, 28};// 注意事项1:创建工具类对象;确定泛型的具体数据类型为Integer;MyArrays<Integer> arrTool = new MyArrays<Integer>();// 调用工具类的方法arrTool.reverse(arr);System.out.println("数组的元素:" + arrTool.toString(arr));MyArrays<String> arrTool2 = new MyArrays<String>();String[] strArr = {"aaa", "bbb", "ccc"};arrTool2.reverse(strArr);System.out.println("数组的元素:" + arrTool2.toString(strArr));// 注意事项2:类上声明了自定义泛型,但是创建对象的时候没有指明具体的数据类型,那么默认为Object类型;MyArrays arrTool3 = new MyArrays();arrTool3.reverse(new Object[]{});}}
阅读全文
0 0
- Java学习笔记之泛型(三):泛型类
- JAVA学习笔记之三
- java 5.0学习笔记之三
- JAVA学习笔记之三Applet程序
- Java学习笔记之Swing(三)
- Java学习笔记之三《复用类》
- JAVA学习笔记三
- JAVA学习笔记《三》
- Java学习笔记三
- Java学习笔记三
- java学习笔记(三)
- java学习笔记三
- java学习笔记三
- Java学习笔记三
- Java 学习笔记三
- JAVA学习笔记三
- Java学习笔记(三)
- JAVA学习笔记三
- 为什么液晶广告机有利于提升酒店的人气?——鑫飞广告机专家
- What's New in LLVM9.0
- Git指令
- 关于MFC CFileDlg使用,析构时访问空指针崩溃问题的解决办法
- Handling database fetch size in Sqoop
- Java学习笔记之泛型(三):泛型类
- XML处理SQL大于号小于号等特殊字符
- TabLayout和CoordinatorLayout相结合的库的全面详解及修改
- 简单的ViewPager+Fragment+小圆点的实现
- 【算法世界】(八)找出数组中的两个数,使得二者之和为特定值target
- 用户注册
- [转载: Android开发666]okhttp的封装及使用
- ScrollView与SeekBar绑定实现滑动时出现小滑块的效果
- Java并发编程:volatile关键字解析