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 > ...
随机推荐
- HDFS入门
HDFS入门 欢迎关注我的个人博客:http://www.cnblogs.com/yjd_hycf_space 更多大数据以及编程相关的精彩文章 为什么我们需要HDFS 文件系统由三部分组成:与文件管 ...
- Entity Framework表拆分
一.概念 表拆分:一个表拆分成多个实体,例如Photograph表,可以拆分为Photograph和PhotographFullImage两张表. Photograph实体结构: using Syst ...
- 常用PHP文件操作函数
注:文件操作函数的行为受到 php.ini 中设置的影响. 当在 Unix 平台上规定路径时,正斜杠 (/) 用作目录分隔符.而在 Windows 平台上,正斜杠 (/) 和反斜杠 (\) 均可使用. ...
- FastCGI 进程管理器(FPM)
FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的. 它的功能包括: 支持平滑停止/启动的高级进程管理功能: 可以工作于不同的 uid/ ...
- 防火墙导致MySQL无法访问的问题解决案例
问题 数据库总是访问不了以致不得不反反复复的重启MySQL数据库. 但是重启的效果并不明显,重启10几分钟后问题依然出现.导致前端用户难以正常访问网站.另外他们还通过google,百度搜索,怀疑是数据 ...
- 修改jdk
(一)修改jdk的path: (二)修改eclipse里面的jre环境 (三)修改具体项目的jre环境 build path -> config build path (四)修改服务运行环境
- Java的四种引用类型之弱引用
先说结论: 首先,Java中有四种引用类型:强引用.软引用.弱引用.虚引用.-- 在 Java 1.2 中添加的,见 package java.lang.ref; . 其次,这几个概念是与垃圾回收有关 ...
- Collapsing Margin:外边距叠加
参考:http://www.smallni.com/collapsing-margin/ http://www.cnblogs.com/v10258/p/3530290.html
- UIScrollView 的代理方法简单注解
//减速停止了时执行,手触摸时执行执行 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView; //只要滚动了就会触发 ...
- javascript 哈夫曼树构造
function Node(data) { this.data = data; this.left = null; this.right = null; } Array.prototype.creat ...