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 > ...
随机推荐
- 一站式学习Wireshark(二):应用Wireshark观察基本网络协议
TCP: TCP/IP通过三次握手建立一个连接.这一过程中的三种报文是:SYN,SYN/ACK,ACK. 第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始. 如果你找不 ...
- js学习笔记28----事件默认行为
事件默认行为 : 当一个事件发生的时候浏览器自己会默认做的事情. 怎么阻止? 当前这个行为是什么事件触发的,然后在这个事件的处理函数中使用return false; 右键菜单事件 oncont ...
- Javascript实现浏览器菜单命令
每当我们看到别人网页上的打开.打印.前进.另存为.后退.关闭本窗口.禁用右键等实现浏览器命令的链接,而自己苦于不能实现时,是不是感到很遗憾?是不是也想实现?如果能在网页上能实现浏览器的命令,将是多么有 ...
- Hbase建模
转自:http://blog.itpub.net/28912557/viewspace-1119865/ 什么情况下使用Hbase?1,成熟的数据分析主题,查询模式已经确定并且不易轻易改变.(主要还是 ...
- WPF查找子控件和父控件方法
一.查找某种类型的子控件,并返回一个List集合 public List<T> GetChildObjects<T>(DependencyObject obj, Type ty ...
- 第三百零五节,Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性
Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性 Views(视图函数)逻辑处理,最终是围绕着两个对象实现的 http请求中产生两个核心对象: http请求:HttpRe ...
- PHP高手修炼50法——勤快篇
.把PHP当成一门新的语言学习: .看<PHP与mysql5?web?开发技术详解>和<PHP高级程序设计:模式.框架与测试>: .不要被VC.BCB.BC.MC.TC等词汇所 ...
- javascript -- 将数组转换为字符串:join()
join(separator) 方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分隔的. separator:可选,指定要使用的分隔符.如果省略该参数,则默认使用逗号作为分隔符 v ...
- CentOS查看登录用户以及踢出用户
查看登录用户,使用w命令 [root@lnmp ~]# w 18:51:18 up 35 min, 2 users, load average: 0.00, 0.00, 0.00 USER ...
- cake build使用:
开源地址: https://github.com/cake-build/cake 依赖 powershell 3.0 Windows 获取引导程序: Invoke-WebRequest http:// ...