范型在java中的应用
根据泛型在java中的不同位置,大致可以分为类泛型、方法泛型和接口泛型。以下三个Demo基本展现三种泛型的用法,其中接口泛型又分两种情况描述。
类泛型和方法泛型
import java.util.ArrayList; //类泛型
class DemoClass<T> {
public void method(T t) {
System.out.println(t);
}
} class ClassDemo {
//方法泛型
public static <E> void Method(E e) {
System.out.println(e);
}
} public class TriggerPrint {
public static void main(String[] args) {
DemoClass<String> dc1 = new DemoClass<>();
dc1.method("泛型类示例");
DemoClass<Double> dc2 = new DemoClass<>();
dc2.method(3.1415926);
// ---------------------------------------
String s = "泛型方法示例";
ClassDemo.Method(s);
ArrayList<Integer> it = new ArrayList<>();
it.add();
it.add();
it.add();
ClassDemo.Method(it);
}
}
接口泛型
//接口泛型
//第一种情况,实现的时候知道具体类型。
interface ModeClass<E> {
public abstract void show(E e);
} public class Demo implements ModeClass<String> {
public static void main(String[] args) {
} public void show(String s) {
}
}
//第二程情况,实现的时候依然不知道具体类型,创建对象时才知道具体类型。
//ArrayList实现List接口
interface ClassDemo<E> {
public abstract void method(E e);
} class DemoClass<E> implements ClassDemo<E> {
public void method(E e) {
System.out.println(e);
}
} public class Demo {
public static void main(String[] args) {
DemoClass<String> d = new DemoClass<String>();
d.method("HelloWorld");
}
}
范型在java中的应用的更多相关文章
- Java数据结构与算法分析-第一章(引论)-Java中的范型<T,E>构件
一.为什么需要使用范型? 官方的说法是:Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型. 泛型的本质 ...
- Java范型学习笔记
对于范型的使用或者说印象只有集合,其他地方即使使用过也不知道,反正就是只停留在List<E> Map<K, V>,最近刚好闲来无事,就找找资料学习一下:下列为个人学习总结,欢迎 ...
- Java中的语法糖
一.范型 1. C#和Java范型的区别 在C#中范型是切实存在的,List<int>和List<String>就是两种不同的类型,它们在系统运行期间生成,有自己的虚方法表和类 ...
- java 中包的概念,常量,静态与继承
一.包的概念:创建,使用. 1.新建包: 最上面一行,之前不能再有其它代码了. package 包名; 注意:包名一般都有命名的规范.例如:com.itnba.maya.zy(从大到小). 2.使用包 ...
- JAVA中分为基本数据类型及引用数据类型
一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...
- Java中的基本数据类型和引用类型
一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...
- java范型集合中的成员排序
范型集合中的类是JsonObject,不是自定义类,如果是自定义类就直接取要比较的字段值. ArrayList<JSONObject> TList = new ArrayList<J ...
- Java Comparator的范型类型推导问题
问题 在项目中,有一处地方需要对日期区间进行排序 我需要以日期区间的开始日为第一优先级,结束日为第二优先级进行排序 代码 我当时写的代码如下: List<Pair<LocalDate, L ...
- Java范型
泛型不用考虑对象的具体类型.优点在于,因为不用考虑对象的具体类型所以可以对一类对象执行一定的相同操作:缺点在于,因为没有考虑对象的具体类型所以就不能使用对象自带的接口函数.泛型的最佳用同是实现容器类. ...
随机推荐
- D3js-绘制地图时出现过小, 设置scale还是无效 的解决方法
使用d3绘制某个地市的地图时,把scale成非常大但是还是无法达到想要的效果. //---------------------------------------------------------- ...
- 英语影视台词---七、THE GREAT GATSBY QUOTES
英语影视台词---七.THE GREAT GATSBY QUOTES 一.总结 一句话总结:了不起的盖茨比 1.“So we beat on, boats against the current, b ...
- 日常问题记录-- java.lang.IllegalArgumentException: taglib definition not consistent with specification version
转自:https://www.cnblogs.com/carterzhang/p/4288650.html 背景: tomcat8.0中使用taglib 错误表现: java.lang.Illegal ...
- 洛谷P1067 多项式输出(模拟)
题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: 1. 多项式中 ...
- Core Java(二)
二 .JAVA语言基础 1.注释,标识符,关键字 Comments 用于解释说明程序的文字 Java中注释分类格式 单行注释:格式: //注释文字 多行 ...
- DF标志和串传送指令
DF标志和串传送指令 flag的第10位是DF,方向标志位.在串处理指令中,控制si.di的递减. df = 0 每次操作后si.di递增 df = 1 每次操作后si.di递减 串传送指令 格式1: ...
- 推荐几个bootstrap 后端UI框架
转载地址 https://blog.csdn.net/u013816448/article/details/81563051
- POJ 1273 Drainage Ditches【最大流】
题意:给出起点是一个池塘,M条沟渠,给出这M条沟渠的最大流量,再给出终点是一条河流,问从起点通过沟渠最多能够排多少水到河流里面去 看的紫书的最大流,还不是很理解,照着敲了一遍 #include< ...
- NetworkX-simple graph
import networkx as nx import matplotlib.pyplot import scipy.io as sio import numpy as np load_path=' ...
- VB学习生成JavaBean
Application.ActiveWorkbook.Path 获取当前excel文件所在的文件地址 Excel VBA中表示当前工作簿,有Activeworkbook和Thisworkbook 两种 ...