精华内容
下载资源
问答
  • javaList集合的两种赋值方式

    千次阅读 2021-02-05 20:11:19
    写在之前 在开发中难免会有...//将merchantDTO赋值给entity(相同的属性) BeanUtils.copyProperties(merchantDTO,entity); 使用mapstruct转换 首先在项目中引入依赖 <!-- MapStruct代码生成器,对象转换 -->
    写在之前

    在开发中难免会有entity,vo,dto之间的转换那么如何优雅快速的进行转换呢?当然你可以get在set显然不推荐这样做!

    对象转换

    使用BeanUtils工具类copyProperties方法

    像这样

    //将merchantDTO赋值给entity(相同的属性)
    BeanUtils.copyProperties(merchantDTO,entity);
    

    使用mapstruct转换

    首先在项目中引入依赖

    <!--       MapStruct代码生成器,对象转换 -->
            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct-jdk8</artifactId>
            </dependency>
            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct-processor</artifactId>
                <version>${org.mapstruct.version}</version>
            </dependency>
    

    新建接口

    @Mapper//这里的mapper是包org.mapstruct.Mapper
    public interface AppCovert {
        AppCovert INSTANCE = Mappers.getMapper(AppCovert.class);
        /**
         * entity转dto
         */
        AppDTO entityTodto(App entity);
    
        /**
         * dto转entity
         * @param dto
         * @return
         */
        App dtoToEntity(AppDTO dto);
    }
    
    

    注:使用泛型支持所有类型的List转换
    使用

    //将entity转换为dto
    MerchantDTO merchantDTO = MerchantDetailConvert.INSTANCE.entityTodto(merchantInfo);
    

    List转换

    使用BeanUtils工具类

    集合转换是不是也想使用copyProperties方法?对你想的没错,想对了一半
    只不过要对copyProperties方法进行封装
    像这样

     /**
         * @param sources: 数据源类
         * @param target: 目标类
         * @return 赋值后的list
         */
        public static <S, T> List<T> copyListProperties(List<S> sources, Supplier<T> target, BeanCopyUtilCallBack<S, T> callBack) {
            List<T> list = new ArrayList<>(sources.size());
            for (S source : sources) {
                T t = target.get();
                BeanUtils.copyProperties(source, t);
                list.add(t);
            }
            return list;
        }
    

    使用

     List<Merchant> entity = new ArrayList<>();
            Merchant merchant = new Merchant();
            entity.add(merchant);
            List<MerchantDTO> ts = BeanCopyUtil.copyListProperties(entity, MerchantDTO::new);
    

    使用mapstruct转换

    定义接口

    @Mapper
    public interface AppCovert {
    AppCovert INSTANCE = Mappers.getMapper(AppCovert.class);
        /**
         * entityList转dtoList
         * @param app
         * @return
         */
        List<AppDTO> listEntityToDto(List<App> app);
    
    }
    
    

    使用

    List<App> apps = new ArrayList<>();
    List<AppDTO> appDtos = AppCovert.INSTANCE.listEntityToDto(apps);
    

    对比BeanUtils工具类,mapstruct对象转换显得比较繁琐!

    展开全文
  • java创建List时候 初始化赋值

    万次阅读 多人点赞 2019-08-04 17:19:07
    在这之前 可能有的读者, 只知道数组初始化 时候的赋值。 String[] strings = new String[]{ "one","two","three" }; 当创建list时候,也许 你还会写过以下代码 正确的写法 ...

    在这之前 可能有的读者, 只知道数组初始化 时候的赋值。

     String[] strings = new String[]{
                  "one","two","three"
            };
    

    当创建list时候,也许 你还会写过以下代码
    在这里插入图片描述

    正确的写法

     List<String> list = new ArrayList<>() {//这个大括号 就相当于我们  new 接口
                {//这个大括号 就是 构造代码块 会在构造函数前 调用
                    System.out.println("我是构造代码块");
                    this.add("one");//this 可以省略  这里加上 只是为了让读者 更容易理解
                    add("two");
                }
            };
            list.forEach(System.out::println);
    

    总结

    上面的 要注意 有两个{ { }}。他们每一个的作用 我在代码注释里面写的很清楚

    如果有不懂的,可以关注我的公众号 “知我饭否” 向我留言。我会每天更新一些文章,有兴趣的可以 微信 搜索"知我饭否" or 扫描我的 博客头像
    在这里插入图片描述

    展开全文
  • 不用for循环就可以实现。只需下面一行代码 List<User>listA = new ArrayList<>(); … List<String> listB= listA.stream().map(User::getIdcard).collect(Collectors.toList())

    不用for循环就可以实现。只需下面一行代码

    List<User>listA = new ArrayList<>();
    …
    List<String> listB= listA.stream().map(User::getIdcard).collect(Collectors.toList())

     

    展开全文
  • Java 数组、List初始化赋值

    千次阅读 2021-04-15 19:38:12
    1 数组初始化赋值 ...2 List初始化赋值 //第一种初始化赋值方式(推荐) List<String> strList1=Arrays.asList(new String[]{"1","2"}); //第二种初始化赋值方式 List<String> strList2=new ArrayList

    1 数组初始化赋值

    //第一种初始化赋值方式
    String[] strs1={"1","2"};
    
    //第二种初始化赋值方式
    String[] strs2=new String[]{"1","2"};

    2 List初始化赋值

    //第一种初始化赋值方式
    List<String> strList1=Arrays.asList(new String[]{"1","2"});
    
    //第二种初始化赋值方式(推荐)
    List<String> strList2=new ArrayList(Arrays.asList(new String[]{"1","2"}));
    
    //第三种初始化赋值方式
    List<String> strList3=new ArrayList<String>{{
        add("1");
        add("2");
    }};

    注:Arrays.asList()返回的对象不支持add()和remove()方法。具体原因请参考以下博客。

    Java Arrays.asList()需要注意的坑(不支持add()和remove())icon-default.png?t=L892https://mp.csdn.net/console/editor/html/115797849

    展开全文
  • java List赋值的问题

    2021-02-12 15:19:45
    展开全部List>finishMapList=newArrayList>();Mapmap=newHashMap();map.put("key","A");map.put("key","A");finishMapList.add(map);map=newHashMap();//map要重新new不然还是上一个mapmap.put("key","B");ma....
  • 问题简介在Java当中,若希望在创建数组的同时给数组赋值很简单,可以想下面这样:int[] num = {1,2,3};String strs = {"a", "b", "c"}但是,如果我们创建List集合,或者Map集合时,也想快速地为它赋初始值,应当如何...
  • 主要介绍了javaList集合及其遍历详解的相关资料,需要的朋友可以参考下
  • 声明和实例化:声明:ArrayList a, 仅仅只是声明了一个list变量,其未来作用相当于C++中的引用变量,亦或者相当于一个对象块的索引,但并未为其分配具体的完整的对象所需要的内存空间,其...java的实例化:1. 使用ne...
  • Java 创建 List 的时候直接赋值

    千次阅读 2020-08-18 16:23:47
    private static List<String> list = new ArrayList<String>() { // 第一个花括号表示匿名内部类 { // 第二花括号表示匿名内部类的构造代码块,可以有多个。构造代码块在构造函数前执行,匿名内部类的...
  • 当我们想要仅仅复制一个List的值到另一个List时 你也许会这样做: List<String>list1=new ArrayList<>(); List<String>list2=new ArrayList<>(); list2=list1; 我们来测试一下结果: ...
  • 业务需求是:取2个集合中的交集对象并返回。如下代码,busMap中key值和stocks中Map中的key值相等的...实现代码 ① bug版报错:java.util.ConcurrentModificationException ; at java.util.ArrayList$Itr.checkFor...
  • java list之间的赋值

    千次阅读 2018-02-08 14:05:50
    Java List之间的赋值 创建两个list list_1和list_2 list_2=list_1; 这里实际上是list_2和list_1的内存地址是相同的 代码: import java.util.ArrayList; import java.util.List; public class Main { public ...
  • 主要介绍了java使用lambda表达式对List集合进行操作技巧适用jdk1.8,感兴趣的朋友跟着小编一起看看实现代码吧
  • 1、利用stream().forEach()循环处理List;List list = Lists.newArrayList();//新建一个List 用的google提供的Guava package com.google.common.collect;list.add("1");list.add("2");list.add("3");list.stream()....
  • java数组三种初始化方式 public static void main(String[] args) { //第一种数组初始化 Integer[] ints1 = {1,2,3}; //第二种数组初始化 Integer[] ints2 = new Integer[]{4,5,6}; //第三种数组初始化 ...
  • java-使用for循环给list赋值

    万次阅读 2019-03-04 12:47:17
    最近在使用for循环给list赋值,最后发现list中的所有对象的值都变成了最后一个对象的值了,查资料才知道list在调用add()方法时,每次都只是保留的一个对象的引用,如果在for循环外面new list的对象,最后list集合...
  • 再将集合A插入到集合 B中,最终使得集合B:[[1],[1,2,],[1,2,3],[1,2,3,4],[1,2,3,4,5]] 结果:如图,每次对集合A重新赋值时,已插入B集合中的A也发生了相应的改变。 网上查找:说需要在 for循环中new 集合,这样 ...
  • javalist赋值操作小坑

    千次阅读 2017-04-27 13:56:43
    java中使用list1=list赋值方式使得list1和list2指向同一个内存地址,改变其中一个值,另外一个会随着改变; 如果list在多个地方引用要避免直接对其进行操作。 表述不清。。。。。 验证代码...
  • java 对象赋值问题

    千次阅读 2021-02-26 19:07:34
    import java.io.*;class CCircle{private static double pi = 3.1415;private double radius;public CCircle(double r) {radius = r;}public void show() {System.out.println("Area is "+pi*radius*radius);}publ.....
  • 最近在写代码的时候发现一个问题:我定义了两个List集合A,B,先对第一个集合A add数据进去,接着直接将A的数据赋值给B,结果后面我将集合A给clear掉,然后使用B集合的数据,结果报了数组越界异常。 最后发现集合B的...
  • java -新建list链表并赋值的方法总结

    千次阅读 2020-12-15 10:55:00
    java -新建list链表并赋值的方法总结1、直接初始化并赋值1.1 初始化的同时赋值1.2 先初始化后赋值2、将一个list赋值给另一个list2.1 对象引用的方式赋值2.2 非对象引用的方式赋值 1、直接初始化并赋值 1.1 初始化的...
  • 下面小编就为大家带来一篇java反射遍历实体类属性和类型,并赋值和获取值的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • List<String> list = new ArrayList<String>(); list.add("abc"); list.add("def"); list.add("hig"); 方法2: List<String> list = new ArrayList<String>(Arrays.asList("a"...
  • Javalist赋值

    2017-10-13 14:42:19
    2.如果尖括号里的是一个类,那么尖括号里的就是一个点,比如List,List,List<Object> 3. 如果尖括号里面带有问号,那么代表一个范围, 代表小于等于A的范围,代表大于等于A的范围,代表全部范围 4.尖括号里的所有点...
  • JAVA List 对象赋值

    万次阅读 2015-04-24 13:56:37
    JAVA List对象如果直接使用“=”进行赋值,比如 如下代码: Listlist1 = new ArrayList(); Listlist2 = new ArrayList(); list2 = list1; if(list1 == list2){ System.out.println("ok"); } else { ...
  • 先看空指针异常:ListmovieInfos= null;这样创建时,list指向为空,...再看list循环赋值的问题:问题描述:for (i=0;i<10;i++){movieInfoSum.movieId = (int)recommendation.get(i).getItemID();movieInfoSum.mov...
  • 主要介绍了Java8 Stream对两个 List 遍历匹配数据的优化处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • class test{ List<String> list; public List<String> getList() { return list; } public void setList(List<String> list) { this....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 224,839
精华内容 89,935
关键字:

java赋值list

java 订阅