Java初学者笔记五:泛型处理
一、泛型类:
泛型是指适用于某一种数据类型而不是一个数据机构中能存不同类型
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List; class myClass<Type>{
public Type[] tlist;
public Type tobject;
@SuppressWarnings("unchecked")
myClass(int maxsize,Type object){
this.tlist = (Type[])new Object[maxsize];
this.tobject = object;
}
public Type getMyObject() {
return this.tobject;
}
public Type[] getMyList() {
return this.tlist;
}
public void setMyObject(Type object) {
this.tobject = object;
}
} public class test{
public static void main(String args[]) throws IOException {
myClass<String> newone = new myClass<String>(5,"5");
System.out.println(newone.getMyList());
System.out.println(newone.getMyObject());
newone.setMyObject("6");
System.out.println(newone.getMyObject());
}
}
1、知识点1--变量定义:
关于泛型变量(非数组)的定义:
class myClass<T>{
public T t;
myClass(T newt){
this.t = newt;
}
}
关于数据的泛型定义:
@SuppressWarnings("unchecked")
myClass(int maxsize){
this.tlist = (Type[])new Object[maxsize];
}
2、知识点2--泛型的实例化
这里需要显式的指出数据类型
myClass<String> newone = new myClass<String>(5,"5");
二、泛型接口:
public interface myinterface<T>{
public T next();
}
//接口需要继承
public class myclass implements myinterface<String>{//继承时候显式定义类型
private String[] stringlist=new String[]{"a1","b1","c1"};
@Override
public String next(){
Ramdom rand=new Random();
return stringlist[rand.nextInt(3)];
}
}
三、泛型方法:
1、在泛型类下的泛型方法:
泛型参数:
public void show(T t){
System.out.println(t);
}
泛型返回值
public T getObject(){
return this.t;
}
2、单独的泛型方法:
public stati <T> void out(T t){
System.out.println(t);
}
Java初学者笔记五:泛型处理的更多相关文章
- Java初学者笔记
Java初学者笔记 前提:认识汉字,认识英语单词,会用键盘打字 ------------------------------- 端口是什么: --------面向对象编程(OOP) 接口”(Inter ...
- 【原】Java学习笔记027 - 泛型
package cn.temptation.test; import java.util.ArrayList; import java.util.Iterator; public class Samp ...
- Effective Java 读书笔记之四 泛型
泛型的本质是参数化类型.只对编译器有效. 一.请不要在新代码中使用原生态类型 1.泛型类和接口统称为泛型,有一个对应的原生态类型. 2.原生类型的存在是为了移植兼容性. 3.无限制通配类型和原生态类型 ...
- 【Java学习笔记】泛型
泛型: jdk1.5出现的安全机制 好处: 1.将运行时期的问题ClassCastException转到了编译时期. 2.避免了强制转换的麻烦. <>: 什么时候用? 当操作的引用数据类型 ...
- Java初学者笔记一:元类、获取类型、枚举
零.绪论: 2018年新年伊始,学习Java的冲动越来越强烈,毕竟以后无论是做安全开发还是安全研究都必不可少的掌握这门语言,所以在不断完善Python作为脚本语言的主语言的情况下觉得学习Java作为高 ...
- Java学习笔记五:Java中常用的运算符
Java中常用的运算符 运算符是一种“功能”符号,用以通知 Java 进行相关的运算.譬如,我们需要将变量 score 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作. Java ...
- Java分享笔记:泛型机制的程序演示
package packA; import java.util.*; public class GenericDemo { public static void main(String[] args) ...
- java学习笔记之泛型
"泛型"这个术语的意思就是:"使用与许多许多的类型".泛型在编程语言中出现时,其最初的目的是希望类或方法能够具备最广泛的表达能力.如何做到这一点呢,正是通过解耦 ...
- Java学习笔记五——流程控制
分支结构 Java提供了两种常见的分支控制结构:if语句和switch语句. if语句 if语句使用布尔值或布尔表达式(表达式结果为布尔值),if语句有3中形式: 第一种形式: if (5 > ...
随机推荐
- JVM 详谈
JVM 详谈 本来这次应该讲讲ORM 的几个框架,但是笔者还没有完全总结出来,所以这里先插入一次学习JVM的心得.作为一个Java程序员,如果不了解JVM的工作原理,就很难从底层去把 握Java语言和 ...
- CentOS6.5下安装Zabbix
一.安装环境LAMP 这次安装zabbix全程使用yum进行安装,在于速度快,而且,出错的机会小,如果以后在生产环境上时,也可以先使用可以联网的机器进行安装,安装好以后将机器隔离,这样安装速度更快更方 ...
- Ajax-jQuery_Ajax_实例 ($.ajax、$.post、$.get)
Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了. 推荐一篇不错的jQuery Ajax 实例文章,忘记了可以去看看, 地址为:h ...
- json数据 提示框flash.now[:notice] flash.now[:alert]
实现json.做出提示框 1.在controller中使用flash.now[:alert] = "str"方法来做print def topodata #@vnic = Vnic ...
- js学习笔记20----addClass,removeClass函数封装
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- js 延时
alert(1);setTimeout(function(){alert(2);}, 1000);setTimeout(function(){alert(3);}, 2000);
- Spring 4 官方文档学习(十一)Web MVC 框架之resolving views 解析视图
接前面的Spring 4 官方文档学习(十一)Web MVC 框架,那篇太长,故另起一篇. 针对web应用的所有的MVC框架,都会提供一种呈现views的方式.Spring提供了view resolv ...
- Extracting and composing robust features with denosing autoencoders 论文
这是一篇发表于2008年初的论文. 文章主要讲了利用 denosing autoencoder来学习 robust的中间特征..进上步,说明,利用这个方法,可以初始化神经网络的权值..这就相当于一种非 ...
- 【Java面试题】4 静态变量和实例变量的区别?详细解析
在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加.在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量.静态变 ...
- .net FrameWork各个版本之间的发展[转]
上个星期看到了.NET 4.0框架退休日期逐渐临近文章,发现自己一直在使用NET FrameWork,身为一个NET程序员,里面大概的区别自己还是知道的,但是自己要说出个所以然来了,发现还是有点力不 ...