【ThinkingInJava】41、捕获转换
来源:互联网 发布:淘宝20万店铺数据下载 编辑:程序博客网 时间:2024/06/02 15:01
/*** 书本:《Thinking In Java》* 功能:捕获转换* 文件:CaptureConversion.java* 时间:2015年5月19日07:52:43* 作者:cutter_point*/package Lesson15_generices;public class CaptureConversion{static <T> void f1(Holder<T> holder){System.out.println("This is f1()");T t = holder.get();//这个就是得到holder的值,也就是T类型的值System.out.println(t.getClass().getSimpleName()); //得到类型名}static void f2(Holder<?> holder)//由于f1需要一个确切的参数,但是f2的参数看起来不是确切的,但是f2调用了f1,所以参数类型在f2调用f1的时候被捕获了{System.out.println("这里是f2");f1(holder);//调用f1}public static void main(String[] args){Holder raw = new Holder<Integer>(1);//传入的类型是Integerf1(raw); //有警告 ,直接调用的f1,返回Integerf2(raw); //这个没有警告,返回同上Holder rawBasic = new Holder();rawBasic.set(new Object()); //警告f1(rawBasic);f2(rawBasic);Holder<?> wc = new Holder<Double>(1.0);f2(wc);}}
输出:
This is f1()
Integer
这里是f2
This is f1()
Integer
This is f1()
Object
这里是f2
This is f1()
Object
这里是f2
This is f1()
Double
0 0
- 【ThinkingInJava】41、捕获转换
- ThinkingInJava
- 【ThinkingInJava】24、捕获一个异常之后抛出另外一个异常,并且希望吧原始的信息保存下来
- 【ThinkingInJava】笔记
- 《JAVA编程思想》捕获转换
- SetCapture捕获鼠标 ,转换获取的坐标
- DirectShow捕获音频之PCM的转换
- 【2】ThinkingInJava学习笔记
- 【3】ThinkingInJava学习笔记
- 【4】ThinkingInJava学习笔记
- 【6】ThinkingInJava学习笔记
- 【7】ThinkingInJava学习笔记
- 【8】ThinkingInJava学习笔记
- 【ThinkingInJava】1、几个练习题
- 【ThinkingInJava】2、直接常量
- 【ThinkingInJava】3、Foreach语法
- 【ThinkingInJava】11、接口使用
- 【ThinkingInJava】23、反向迭代器
- cigarettes
- 欢迎使用CSDN-markdown编辑器
- cookies!=i<cookies.length&&null;
- 疯狂Java学习笔记(37)----------List集合
- 输出char[]数组
- 【ThinkingInJava】41、捕获转换
- CSU1626 Time Warp
- 变动间距时间序列报表的绘制
- 【ThinkingInJava】42、装饰器设计模式
- Raspberry Pi: How to set up WiFi
- 【ThinkingInJava】43、与动态代理混合的装饰器模式
- 主控芯片
- Spring 注解学习手札(一) 构建简单Web应用GOOD
- 是是是