Java泛型

bed19e06de41IP属地: 湖南
字数 446

Java泛型是jvm中的语法糖,是提供给javac编译器使用的,在编译时会进行“泛型擦除”,生成的class文件将不再带有泛型信息。

泛型设计原则:只要在编译时期没有出现警告,那么运行就不会出现ClasscastException异常。

泛型的意义:泛型是为了在编译器,检查参数类型是否正确。简单的来讲就是可以有效的解决或减少关于类型方面的异常,为了类型的安全。

1.泛型类:在实际的开发中有一些类需要使用多种类型,或者类型无法确定。而泛型类只有在用户实例化才把类型确定,极其轻便和严谨。

public class Tools<T> {

    private T params;

public T get() {

return params;

}

public void set(T t) {

params=t;

}

public static <T> void show(T t) {

System.out.print(t);

}

}

public <T> void test(List list) {}

public static void main(String[] arg) {

//实例化的同时给定了类型

Tools<String> tool=new Tools<>();

tool.set("你成功啦");

}

2.泛型方法:当你只是某一个方法需要泛型时,如果使用泛型类就有点小题大做了。

public class Demo{

public <T>  void show(T t){

System.out.print(t);

}}

public static void main (String[] arg){

Demo demo=new Demo();

demo.show("1");

demo.show(235);

}

3.泛型接口:

public interface IBook<T> {

public void showBookNumbers(T t);

}

a.子类不明确泛型接口:

public class BookImpl<T> implements IBook<T>{

@Override

public void showBookNumbers(T t) {

// TODO Auto-generated method stub

}

}

b.子类明确泛型接口

public class BookImpl implements IBook<String>{

@Override

public void showBookNumbers(String t) {

// TODO Auto-generated method stub

}

}

4.PESC法则:推荐博文:https://www.cnblogs.com/dldrjyy13102/p/8297045.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
0人点赞
总资产0共写了5302字获得6个赞共1个粉丝

推荐阅读更多精彩内容

  • 1.泛型简介 问题:在获取用户信息的API中,后台给我们返回一个这样形式的json字符串。{ "meta":...
    彼岸之城cyy阅读 991评论 0 0
  • 简介 泛型的意思就是参数化类型,通过使用参数化类型创建的接口、类、方法,可以指定所操作的数据类型。比如:可以使用参...
    零度沸腾_yjz阅读 3,335评论 1 15
  • 一、泛型简介1.引入泛型的目的 了解引入泛型的动机,就先从语法糖开始了解。 语法糖 语法糖(Syntactic S...
    Android进阶与总结阅读 1,033评论 0 9
  • 泛型 泛型由来 泛型字面意思不知道是什么类型,但又好像什么类型都是。看前面用到的集合都有泛型的影子。 以Array...
    向日花开阅读 2,209评论 2 6
  • 平凡的二十岁的青年上着普通的大学,2018年,最近的新闻都在播报有一颗巨大的陨石落在了北方,成年人们按部就班的工作...
    胡呆白阅读 1,083评论 2 3