【JAVA】泛型——对数据类型转换和数据存取方法的逐步优化过程
2019-06-13 10:56
866 查看
下面的代码是对泛型类里面,因为父类访问子类属性的限制,而产生的对数据类型转换和数据存取方法的逐步优化过程。
public class TestTemplate { public static void main(String[] args) { /** * F a=new F(new Student(111,"lisi",'m'),30.5); * System.out.println(a.getB().getName); */ //父类只能访问子类里面父类定义的属性, //而Object类里面没有name属性。 //那么我们可以这样做: /** * F a=new F(new Student(111,"lisi",'m'),30.5); * Student o = (Student) a.getB(); * System.out.println(o.getName()); */ //但是,转换也比较浪费时间和空间。 //下面我们可以这样做: //我们定义类的时候,不确定类里面放什么数据类型。 //但是,一旦我们使用的时候, //系统就把数据类型给我们确定了。 //我们先把类的参数属性定义一下: /** * public F<S,T> { * this.b = b; * this.c = c; * } * * public S getB() { * return b; * } * * public void setB(S b) { * this.b = b; * } * * public T getC() { * return c; * } * * public void setC(T c) { * this.c = c; * } * * private S b; * private T c; */ //我们现在传参的时候可以这样做: /** * F<Student,Double> a=new F(new Student(111,"lisi",'m'),30.5); * Student o = a.getB(); * System.out.println(o.getName()); */ //现在我们在调用的时候,因为有了泛型, //我们的get方返回的就是我们想要得到的类型, //即在我们使用的时候就确定了。 //所以就没有强制转换这一步了。 //下面是在泛型归则下输出的Integer类型和Double型数据 /** * F<Integer, Double> a = new F<>(20, 30.34); * System.out.println(a.getB()); * System.out.println(a.getC()); */ } }
相关文章推荐
- Java中几种常用数据类型之间转换的方法
- beanutils工具类将字符串转换成Date(java.util.Date)数据类型的方法
- Java 中数据类型转换成 byte[] 方法
- java通过反射获取私有的构造方法,及反射擦除泛型数据类型约束
- 常见Java 中数据类型之间的转换的方法!
- JAVA每日学习(补录 OneNote笔记)Day2---数据类型转换、运算符、方法入门、JDK9新特性
- JAVA基础知识点汇总【入门程序、常量、变量、数据类型转换、运算符、方法入门、流程控制语句、IDEA、方法、数组、类与对象、封装、构造方法】
- JAVA基本数据类型与其他语言数据类型之间的转换方法
- Java中几种常用数据类型之间转换的方法
- 常见Java 中数据类型之间的转换的方法!
- Java中几种常用的数据类型之间转换方法
- js 将json字符串转换为json对象的方法解析 作者: 字体:[增加 减小] 类型:转载 将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而J
- Java的数据类型转换方法
- 思想:java中,父类的方法中传入的形参的数据类型是泛型,子类的方法的形参想只要一种确定的数据类型,子类该如何做呢?
- Java之使用Integer类中的parseInt()方法将字符串转换为基本数据类型
- Java基础第二天(数据类型转换、运算符、方法入门)
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(7):服务器端和客户端数据类型的自动转换:泛型集合类型
- JAVA基本数据类型与其他语言数据类型之间的转换方法
- 常见Java 中数据类型之间的转换的方法!
- 对java基础数据类型在运算过程中的自动转换的一些分析