java - public <T> T findOne(T record) 这是什么意思

查看:101
本文介绍了java - public <T> T findOne(T record) 这是什么意思的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

是代表返回的类型可以是<T> 或者 T 吗

解决方案

楼上已经回答的很专业了...我就白话的方式回答一下,哈哈
比如平常看到一个方法可能是这样的

public BigCar find(Long carId)

这个方法编译没问题的前提是BigCar是一个已存在的类嘛,想表述根据一个车的id查询大车BigCar

这时你还想写一个小车SmallCar的查询方法,估计就应该先创建一个SmallCar,然后写一个查询方法

public SmallCar find(Long carId)

没问题,这个时候你要是想任性说写一个不管是大车还是小车,都是根据id查询的方法,任性的写法就是

public XXX find(Long carId)

那编译器肯定就要犯愁了,你这个XXX是什么鬼啊,没有这个类啊
敲黑板!!!重点来了
这个时候就有个语法哈,你想要表明这个XXX只是一个代指,但是具体是啥不知道,那就用<>表示,里面可以写n个代指的东西,中间用逗号隔开,这样就写成了

public <XXX> XXX find(Long carId)

所以啊,<>只是代表一个定义符,里面定义了一堆变量,方便后续使用而已
你在方法中定义,那这个变量的适用范围就在这个方法里
你要是在类里定义,嘿嘿,那这个变量整个类里都可以用哦,比如:

public class Car<X, XX>{
    X x;
    XX xx;
    Long id;

    public X findX(){
        return x;
    }
}

这篇关于java - public &lt;T&gt; T findOne(T record) 这是什么意思的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆