资讯专栏INFORMATION COLUMN

泛型之泛型方法

sydMobile / 1416人阅读

摘要:泛型方法显式赋值张三李四王五隐式赋值,常用此方式,可以不指定张三李四王五泛型方法不受类的限制,也就是说,即使方法所在的类不是泛型类,也可以定义泛型方法在泛型类中定义的方法,也不一定是泛型方法,就看你如何定义了。泛型类中可以定义泛型方法。

    public class F {
        //泛型方法
        public static  T getT(T[] array) {
           return array[array.length/2];
        }
        public void f() {
            //显式赋值
            String name1 = F.getT(new String[] {"张三","李四","王五"});
            //隐式赋值,常用此方式,可以不指定 
            String name2 = F.getT(new String[] {"张三","李四","王五"});    
        }
    }

泛型方法不受类的限制,也就是说,即使方法所在的类不是泛型类,也可以定义泛型方法;在泛型类中定义的方法,也不一定是泛型方法,就看你如何定义了。
定义泛型方法的格式:
修饰符 返回值 方法名() {}
泛型方法的特点:

类型变量()定义在返回值之前,这是必须的,只有这样,它才是泛型方法

在返回值类型中使用泛型

在方法参数类型中使用泛型

泛型方法不受类的限制,不受static的限制

正常的泛型方法既有返回值也有方法参数,并且返回值和方法参数都使用泛型T,但即使没有泛型方法没有返回值或者没有方法参数,也不算错,但没有意义。

泛型类中可以定义泛型方法。注意:是泛型方法与泛型类中的方法是两码事

普通类中也可以定义泛型方法

泛型方法 != 泛型类中的方法

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73411.html

相关文章

  • 泛型之泛型类

    摘要:定义具有一个或多个类型变量的类,称之为泛型类。泛型类的继承创建对象的两种方式错误方式错误原因继承了泛型类,但并不是泛型类,所以不能这样创建对象。同样是泛型类,它的父类也是泛型类,它传递的是常量。 泛型类 public class A { //在成员变量上使用泛型 private T t; public A() {} //构造参数类型上...

    caoym 评论0 收藏0
  • 型之通配符

    摘要:调用相当于通过使用通配符,可以传递任何类型的对象,但也是有缺点的。使用通配符,赋值传值的时候方便了,但是对泛型类中参数为泛型的方法起到了副作用。结论当使用父界限定通配符时,泛型类中返回值为泛型的方法不能使用。 数组 VS List 第一回合数组类型为Object,可以存储任意类型的对象,List集合同样可以做到 Object[] obj = new Object[1]; List li...

    PingCAP 评论0 收藏0
  • Java 型之上界下界通配符

    摘要:泛型之上界下界通配符本教程是为编写的。这是在使用泛型编程时一个常见的误解,也是一个需要学习的重要概念。通配符使用指南学习使用泛型编程时,更令人困惑的一个方面是确定何时使用上限有界通配符以及何时使用下限有界通配符。 Java 泛型之上界下界通配符 本Java教程是为JDK 8编写的。本页描述的示例和实践没有利用后续版本中引入的改进。 泛型,继承和子类 如你所知,只要类型兼容,就可以将一种...

    shiyang6017 评论0 收藏0
  • Java系列之泛

    摘要:总结泛型的类型必须是引用类型,不能是基本类型,泛型的个数可以有多个,可以使用对创建对象时的泛型类型以及方法参数类型进行限制,如使用关键字和对泛型的具体类型进行向下限制或向上限制,最后一点,可以声明泛型数组,但是不能创建泛型数组的实例。 自从 JDK 1.5 提供了泛型概念,泛型使得开发者可以定义较为安全的类型,不至于强制类型转化时出现类型转化异常,在没有反省之前,可以通过 Object...

    MadPecker 评论0 收藏0
  • Java 之泛型通配符 ? extends T 与 ? super T 解惑

    摘要:简述大家在平时的工作学习中肯定会见过不少如下的语句我们都知道上面的代码时关于泛型的那么这两个不同的写法都有什么区别呢首先说到的泛型我们必须要提到的是泛型的类型擦除机制中的泛型基本上都是在编译器这个层次来实现的在生成的字节代码中是不包含泛型中 简述 大家在平时的工作学习中, 肯定会见过不少如下的语句: List 就表示了泛型参数是某个类型, 只不过我们并不知道它的具体类型时什么.List...

    woshicixide 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<