首页 > 其他分享 >集合.泛型

集合.泛型

时间:2022-09-20 13:57:06浏览次数:66  
标签:String jihe package class 集合 泛型 public

  • Java泛型是JDK1.5中引入的一个新特性,其本质是参数化类型,把类型作为参数传递

  • 常见形式有泛型类、泛型接口、泛型方法

  • 语法:<T,...> T称为类型占位符,表示一种引用类型

  • 好处:(1)提高代码的重用性(2)防止类型转换异常,提高代码的安全性

泛型类

package jihe;

/**
 * 泛型类
 * 语法:类名<T>
 * T是类型占位符,表示一种引用类型,如果编写多个使用逗号隔开
 */
public class Generic<T> {
    //使用泛型T
    //1.创建变量
    T t;

    //2.泛型作为方法的参数
    public void show(T t){
        System.out.println(t);
    }

    //3.泛型作为方法的返回值
    public T getT(){
        return t;
    }
}
package jihe;

public class TestGeneric {
    public static void main(String[] args) {
        //使用泛型类创建对象
        //注意:1.泛型只能使用引用对象 2.不同泛型类型对象之间不能相互赋值
        Generic<String> generic = new Generic<String>();
        generic.t = "hello";
        generic.show("大家好");
        String string = generic.getT();

        Generic<Integer> generic2 = new Generic<Integer>();
        generic2.t = 100;
        generic2.show(200);
        Integer integer = generic2.getT();
    }
}

泛型接口

package jihe;

/**
 * 泛型接口
 * 语法:接口名<T>
 *注意:不能使用泛型静态常量
 */
public interface Interface<T> {
    String name = "张三";

    T server(T t);
}
package jihe;

public class InterfaceImpl implements Interface<String> {

    @Override
    public String server(String t) {
        System.out.println(t);
        return t;
    }
}
package jihe;

public class InterfaceImpl2<T> implements Interface<T>{
    @Override
    public T server(T t) {
        System.out.println(t);
        return t;
    }
}
package jihe;

public class TestGeneric {
    public static void main(String[] args) {
InterfaceImpl impl = new InterfaceImpl();
        impl.server("xxxxx");

        InterfaceImpl2<Integer> impl2 = new InterfaceImpl2<>();
        impl2.server(1000);
    }
}

泛型方法

package jihe;

/**
 * 泛型方法
 * 语法:<T>返回值类型
 */
public class GenericMethod {
    //泛型方法
    public <T> T show(T t){
        System.out.println("泛型方法"+t);
        return t;
    }
}
package jihe;

public class TestGeneric {
    public static void main(String[] args) {
 GenericMethod genericMethod = new GenericMethod();
        genericMethod.show("加油");
        genericMethod.show(1000);
    }
}

 

搜索

复制

标签:String,jihe,package,class,集合,泛型,public
From: https://www.cnblogs.com/sususyq-/p/16710782.html

相关文章

  • ac 836合并集合
    并查集:将两个集合合并询问两个元素是否在同一个集合里基本原理:每个集合用一棵树来表示,树根的编号就是整个集合的编号,每个节点储存他的父节点,p[x]表示x的父节点判......
  • C# 泛型和泛型约束
    C#泛型和泛型约束使用C#创建泛型类,泛型类是使用C#开发OOP应用程序时必须具备的结构。通过创建单个泛型类,您将能够处理一个类中可能有10个不同类中的重复代码.......
  • jdk8集合查询
    List<String>ids=list.stream().map(ContractModificationBasicInfoDTO::getUuid).collect(Collectors.toList());privateCompletedBidSectionInfoDTOentityToDTO(Bi......
  • Java笔记积累—集合
    在Java中除了以Map结尾的类之外,其他类都实现了Collection接⼝。并且以Map结尾的类都实现了Map接⼝ List,Set,Map三者的区别?List(对付顺序的好帮⼿):存储的......
  • 集合 实现双色球案例
    importjava.util.*;/***@authorMxhlin*@[email protected]*@Date2022/09/19/21:30*@Version*@Description双色球案例*/publicclassDemo{......
  • 对list集合进行分页
    方法一:@Testpublicvoidtest02(){List<Integer>list=Arrays.asList(1,2,3,4,5,6,7,8,9);inttotalPage=0;intpageS......
  • 经典c代码集合
    1解析命令行输入指令/*parsecommandlinearguments*/argv+=2;while(*argv){if(strcmp(*argv,"-d")==0){argv++;......
  • Luogu P4139 上帝与集合的正确用法
    \(\large{题目链接}\)\(\\\)首先介绍一下欧拉定理:\[a^{\varphi(p)}\equiv1\pmod{p},\gcd(a,p)=1\]\(\\\)所以费马小定理其实是欧拉定理的一种特殊情况,即\(p\)为质数......
  • C#教程 - 泛型(Generic Types)
    更新记录转载请注明出处:https://www.cnblogs.com/cqpanda/p/16690994.html2022年9月18日发布。2022年9月10日从笔记迁移到博客。泛型(GenericTypes)说明一般情况下......
  • 集合
    1、数组、链表、集合?数组:是有序的元素序列,用于储存多个相同类型数据的集合。可存基本数据类型、引用数据类型静态分配内存在内存中连续元素在栈区长度不可变空间......