在学习该项目时,遇到了<?>语法,不理解是什么意思,上网浏览后写总结以便复习。
public Predicate toPredicate(Root<MerchantsCarrier> root, CriteriaQuery<?> query,CriteriaBuilder criteriaBuilder)
<?>:如果想要使用?来做泛型。我们可以在写代码的时候不指定类型。也就是说,在使用类的时候不必确定这个泛型。
除此之外,还会遇到的情况是< T >
public interface GenericEntityRepository<T> extends GenericRepository<T, Long>
< T>:如果一个类中的方法、参数使用了T来做泛型,那么类上边也必须要写T泛型。也就是说如果使用了T来做泛型,就必须在使用这个类的时刻,确定这个泛型的类型。
总结:方法参数用T,则类中的参数也要写T;方法参数用?,则类中参数可以不写它。