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 文件系统由三部分组成:与文件管 ...
- Android APP 分享图片文字到微信刚開始正常,后面就不弹出分享框了
依照官方的流程走了一遍.一切顺利,分享成功了.本来以为能够大功告成了,结果睡了一觉,第二天要给客户演示了.才发现TMD坑爹了,不能分享了,第三方的分享栏弹不出来了.我一阵惊慌,还好非常快找到了解决的方 ...
- datanode启动失败
当我动态加入一个hadoop从节点的之后,出现了一个问题: [root@hadoop current]# hadoop-daemon.sh start datanode starting datano ...
- AWS SDK for C++调用第三方S3 API
这里介绍AWS SDK for C++ 1.0.x版本,比如下载: https://github.com/aws/aws-sdk-cpp/archive/1.0.164.tar.gz 环境:RHEL/ ...
- php 进度条
<?php header( 'Content-type: text/html; charset=utf-8' ); echo 'Begin ...<br />'; for( $i = ...
- e670. 缓冲图像转换为图像
// This method returns an Image object from a buffered image public static Image toImage(BufferedIma ...
- web开发之微信公众号---微信公众好开发
--------------------------------------time:2015/11/5 ----------------------------------------------- ...
- 利用JQuery直接调用asp.net后台的简单方法
利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. [WebMethod] 命名空间 1.无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod] ...
- 如何快捷地使用ChemBio 3D检查结构信息
ChemBio 3D是一款三维分子结构演示软件,能够轻松快捷地进行化学结构的制作和立体旋转.ChemBio 3D Ultra 14作为ChemBio 3D的最新版本可以更加快捷地制作化学结构.本教程将 ...
- c++虚函数表 Brew VTBL
参考:http://blog.csdn.net/haoel/article/details/1948051/ BREW VTBL:http://blog.chinaunix.net/uid-51740 ...