java?不定类型与泛型的使用解决list继承参数(代码片段)

boonya boonya     2022-12-04     230

关键词:

?表示不确定的数据类型。下面我们来看看怎么使用。

定义模型和子模型

@Data
public class Model 
    String id;
    String name;
    String desc;


@Data
public class SubModel extends Model
    String subName;

定义List泛型接口和实现

public interface MultiModelService 

    /**
     * 多模型List
     * @param list
     */
    void batchSave(List<? extends Model> list);


@Slf4j
@Service
public class MultiModelServiceImpl implements MultiModelService 

    @Override
    public void batchSave(List<? extends Model> list) 
        log.info("--MultiModelService batchSave--");
    

编写测试用例

@ComponentScan(basePackages = "com.boonya.code.list.service.impl")
@SpringBootTest
@SpringBootConfiguration
public class TestMultiModelService 

    @Autowired
    MultiModelService multiModelService;

    @Test
    public void test()
        List<Model> models = new ArrayList<>();
        List<SubModel> subModels = new ArrayList<>();
        multiModelService.batchSave(models);
        multiModelService.batchSave(subModels);
    

输出效果: 

Java Streams 与泛型的使用

】JavaStreams与泛型的使用【英文标题】:JavaStreamsusagewithgenerics【发布时间】:2021-09-2309:55:57【问题描述】:我有以下课程:@DatapublicclassPagedSchoolDtoprivatefinalIntegercount;privatefinalMap<String,List<School>>content;privatefinalStrin 查看详情

java中泛型的使用

参考技术A泛型可以避免强制类型转换,设定集合对象中存储的对象类型。比如List<String>list=newArrayList<String>();那在这个list中,只能存储字符串对象。 参考技术B一般使用在集合上,比如现在将一个字符串类型放在集合里... 查看详情

如何获取java泛型的参数类型

...t<String>list=newArrayList<String>(0);如何获取list的参数类型是String?注意不是获取参数的值1.list.getClass();//这是获取list本身的类型,错误2.for(inti=0;i<list.size();i++)//list的长度为0,错误Objecto=list.get(i);returno.getClass();3。ParameterizedT... 查看详情

java两个同名一样的,参数类型都是同样的集合类型,但泛型的元素类型不

java两个同名一样的,参数类型都是同样的集合类型,但泛型的元素类型不同,这样的2个方法算是同一方法吗?怎么理解,以参数类型为准吗,不用看泛型类型吗?是同一个方法,泛型修饰方法是说该方法可用于不同的泛型元素类... 查看详情

泛型的引入(代码片段)

JDK5.0新特性——泛型集合可以存储任何类型的对象,但是当把一个对象存入集合后,集合会"忘记"这个对象的类型,将该对象从集合中取出,这个对象的编译类型就变成了Object类型。为了解决这个问题,在Java中引入了"参数... 查看详情

请教javalist泛型转换

...;list.add("2");采用泛型写法后,list想加入一个Integer类型的对象时会出现编译错误,通过List<String>,直接限定了list集合中只能含有String类型的元素,从而在后续如果进行for循环就无须进行强制类型转换,因为此时,集... 查看详情

kotlin泛型vsjava泛型

...语言中较难理解的一个部分。Kotlin泛型的本质也是参数化类型,并且提供了编译时强类型检查,实际上也是伪泛型,和Java泛型类型一样。这篇文章将介绍Kotlin泛型里中的重要概念,以及与Java泛型的对比。1.泛型类... 查看详情

java_集合与泛型

...的。集合的长度是可变的。集合中存储的元素必须是引用类型数据集合的继承关系图 a:ArrayList的继承关系:   &nbs 查看详情

java核心:泛型

...在定义类或接口的时候,不需要显示地声明参数或属性的类型。二、类中使用泛型注:在类、接口或方法中,泛型可以定义多个,泛型的名称自定义;注:使用泛型中,在显示指定具体类型时,只能是引用类型,不能是基本数据... 查看详情

java中泛型的使用

泛型是JavaSE1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。Java语言引入泛型的好处... 查看详情

java重要技术(19)泛型之泛型的使用方法

1.1. 泛型的用法参数化类型比如Sample<T>中的类型参数T可以用于构造函数的参数的类型,方法的返回值的类型,画着方法的参数的类型,属性字段的类型等。publicclassGenericParameterTest{//参数化类型T,可以为String,Integer等引用... 查看详情

java泛型的基本介绍和使用

...型的定义:泛型是JDK1.5的一项新特性,它的本质是参数化类型(ParameterizedType)的应用,也就是说所操作的数据类型被指定为一个参数,在用到的时候在指定具体的类型。这种参数类型可以用在类、接口 查看详情

java泛型

使用泛型的优缺点:优点:避免了类型转换的的麻烦,存储什么类型,取出什么类型;把运行异常,提升到了编译期缺点:只能存储单一类型     泛型就是编写模板代码来适应任意类型不必对类型进行强制转换... 查看详情

java学习----泛型

...使用泛型会让程序编写简单安全,在编译的时候就会检查类型是否安全  定义:所谓泛型就是允许在定义类、接口和方法使用参数类型这个类型形参可以在声明变量、创建对象、调用方法时动态指定(类型实参)泛型的参数类... 查看详情

kotlin泛型②(可变参数vararg关键字与泛型结合使用|使用[]运算符获取指定可变参数对象)(代码片段)

...数对象一、可变参数vararg关键字与泛型结合使用如果泛型类型T的参数是vararg可变参数,则在接收可变参数时,需要使用Array<outT>类型的变量进行接收;参数为vararg可变参数,那么可以传入多个指定类型的实例对象;在下面的代码中,... 查看详情

java基础-泛型的优点

1、性能  对值类型使用非泛型集合类,在把值类型转换为引用类型,和把引用类型转换为值类型时,需要进行装箱和拆箱操作。装箱和拆箱的操作很容易实现,但是性能损失较大。假如使用泛型,就可以避免装箱和拆箱操作... 查看详情

gson通过借助typetoken类来解决这个问题

...现机制,使用了泛型的代码在运行期间相关的泛型参数的类型会被擦除,我们无法在运行期间获知泛型参数的具体类型(所有的泛型类型在运行时都是Object类型)。但是有的时候,我们确实需要获知泛型参数的类型,比如将使用... 查看详情

java自用高级编程-5.泛型(代码片段)

...允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时确定(即传入实际的... 查看详情