• Java 泛型<T> T 与 T的用法


    T 与 T 比较

    T是Type的首字母缩写; T 表示“返回值”是一个泛型,传递什么类型,就返回什么类型;而单独的“T”表示限制传递的参数类型。

    T的用法

    T表示返回值T是泛型,T只是一个占位符,用来告诉编译器,这个东西先给我留着,等我编译的时候再告诉你是什么类型。

    public class TTDemo {
        public static void main(String[] args){
            TTDemo ttDemo = new TTDemo();
    
            // 获取String类型
            List<String> array = new ArrayList<>();
            array.add("aaa");
            array.add("bbb");
            String str =  ttDemo.getListFirst(array);
            System.out.println(str);
    
            // 获取Number类型
            List<Integer> nums = new ArrayList<>();
            nums.add(1);
            nums.add(2);
            Integer num = ttDemo.getListFirst(nums);
            System.out.println(num);
        }
    
        private <T> T getListFirst(List<T> data){
            if(data == null || data.size() == 0){
                return null;
            }
            return data.get(0);
        }
    }
    

    单独T的用法

    单独的T表示限制参数的类型。

    public class TDemo<T> {
        public static void main(String[] args){
    
            // 获取String类型
            TDemo<String> tDemo = new TDemo<>();  // 限制"T"为String类型
            List<String> array = new ArrayList<>();
            array.add("aaa");
            array.add("bbb");
            String str =  tDemo.getListFirst(array);
            System.out.println(str);
    
            // 获取Number类型
            TDemo<Integer> tDemo1 = new TDemo<>();  // 限制"T"为Integer类型
            List<Integer> nums = new ArrayList<>();
            nums.add(1);
            nums.add(2);
            Integer num = tDemo1.getListFirst(nums);
            System.out.println(num);
        }
    
        private T getListFirst(List<T> data){
            if(data == null || data.size() == 0){
                return null;
            }
            return data.get(0);
        }
    }
    
  • 相关阅读:
    StringUtils 之 hasLength()
    XML命名空间详解
    Spring bean属性 abstract、parent
    Springboot thymeleaf <thymeleaf‐layout‐dialect.version>2.2.2</thymeleaf‐layout‐dialect.version>标签导入报错
    Springboot 处理静态资源
    git命令
    nftables--linux
    debian handbook手册
    tcp和ip header
    linux内核参数-rp_filter
  • 原文地址:https://www.cnblogs.com/vincenshen/p/10427838.html
Copyright © 2020-2023  润新知