首页 > 其他分享 >泛型(2)

泛型(2)

时间:2022-10-17 09:44:24浏览次数:35  
标签:String void method static 泛型 public

含有泛型的方法

定义格式:

修饰符 <泛型> 返回值类型 方法名(参数){}

含有泛型的方法 在调用方法的时候确定泛型的数据类型传递什么类型的参数 泛型就是什么类型

代码:

方法类:

public class DemoMethod {
public <m>void method(m str){
System.out.println(str);
}
}

测试类:

    public static void main(String[] args) {
DemoMethod m = new DemoMethod();
m.method(10);
m.method("张三");
m.method(10.0);
}
}

运行结果:

静态方法

代码:

方法:

public static <n>void method1(n oe){
System.out.println(oe);
}

测试类:

public static void main(String[] args) {
DemoMethod m = new DemoMethod();
m.method(10);
m.method("张三");
m.method(10.0);
System.out.println("-----------------------------");
m.method1("静态方法不建议创建对象使用");
DemoMethod.method1("静态方法");
}

运行结果:

 定义和使用接口泛型

使用方式 定义接口的实现类 指定接口的泛型

接口:

public interface Interface<I> {
public abstract void eat(I in);
}

实现类:

public class InterfaceImp implements Interface<String>{
@Override
public void eat(String in) {
System.out.println(in);
}
}

测试类:

public static void main(String[] args) {
InterfaceImp imp = new InterfaceImp();
imp.eat("吃东西");

}

泛型的通配符

 当使用泛型类型或者接口时 传递的数据中 泛型类型不确定 可以通过通配符<?>表示 但是一旦使用泛型的通配符后 只能使用Object类中的共性方法 集合中元素自身方法无法使用

通配符的使用

泛型的通配符:不知道使用什么类型来接收的时候 此时可以使用?,?表示未知通配符

此时只能接受数据 不能往该集合中存储数据

代码:

public class DemoCharacter {
public static void main(String[] args) {
//创建两个集合分别Integer、String、
ArrayList<Integer> list1 = new ArrayList<>();
list1.add(11);
list1.add(12);
ArrayList<Object> list2 = new ArrayList<>();
list2.add("张三");
list2.add("李四");

method(list1);
method(list2);
}
public static void method(ArrayList<?> list){
Iterator<?> iterator = list.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
}

运行结果:

标签:String,void,method,static,泛型,public
From: https://www.cnblogs.com/shenziyi/p/16798036.html

相关文章

  • 异常和集合和泛型
                  集合                                  ......
  • 泛型
    泛型常见形式有泛型类,泛型接口,泛型方法语法<T....>T称为类型占位符,表示一种引用类型好处:提高代码的重用性防止类型转换异常,提高代码的安全性泛型类......
  • C#中的泛型详解
    泛型(generic)是C#语言2.0和通用语言运行时(CLR)的一个新特性。泛型为.NET框架引入了类型参数(typeparameters)的概念。类型参数使得设计类和方法时,不必确定一个或多个具体参数,其......
  • Unity泛型单例模式
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassSingleton<T>:MonoBehaviourwhereT:Singleton<T......
  • 泛型
    类型参数的好处程序更已读,可以明显知道代表的什么类型数据更安全,在存储可以根据类型检查,读取的时候不用强制类型转换泛型类publicclassPair<T>{privateTfirs......
  • java中的泛型总结
    要我直接说出泛型是个what我还真讲不出来,这里先由一道问题引入:定义一个坐标点类,要求能保存各种类型的数据,如:整形,浮点型,和字符串类型既然变量类型起先不确定,那么很容易想到......
  • Golang 泛型使用
    Golang泛型泛型函数定义funcFunc1[Tint|int32|int64|float32|float64](a,bT)T{ returna+b}使用Func1[int32](1,2)但是这样好像看起来很丑,所......
  • 浅谈Go1.18版本新特性——泛型
    泛型Generics:引入了对使用参数化类型的泛型代码的新支持,达到了算法可复用的目的。两数求和,泛型函数的使用假设我们要计算两个数的和,函数可以这样子写funcAdd(a......
  • KTV和泛型(3)
    泛型除了KTV,还有一个让人比较疑惑的玩意,而且它就是用来表达疑惑的:?虽然通过泛型已经达到我们想要的效果了,例如:List<String>list=newArrayList<String>();这样就可以放心......
  • KTV和泛型(1)
    说起KTV恐怕没几个人不知道的。虽然这玩意没有过去那么火热了,但喝了酒之后再去飙几个高八度的爆破音还是蛮爽的。但Java里面也有一个基础特性用到了KTV——泛型。泛型,它的作......