美文网首页
Java 类型转换

Java 类型转换

作者: 依弗布德甘 | 来源:发表于2018-11-17 14:41 被阅读0次

引用对象数组类型转换

  • String数组转Integer数组

 String[] strIds = new String[]{"123","321","567"};
 Integer[] ids = (Integer[]) ConvertUtils.convert(strIds, Integer.class);

 Double[] ids = (Double[]) ConvertUtils.convert(strIds, Double.class);
 Long[] ids = (Long[]) ConvertUtils.convert(strIds, Long.class);

注:支持数组与数组之间的直接转换,如String->Long String->Double

数组与List转换


 public class User{
     private Long id;
     private String name;
     //省略get,set....
 }
 
String[] arrays = {"a", "b", "c"};

//数组转List
List<String> list = Stream.of(arrays).collect(Collectors.toList());
//List转数组
String[] strings = list.stream().toArray(String[]::new);
//对象取值
String[] strings = list.stream().map(User::getName).toArray();
//对象取值,转型
String[] ids =  (String[])ConvertUtils.convert(list.stream().map(User::getId).toArray(), String.class);


引用对象转值

  • Long数组转long数组

 Long[] longIds = new Long[]{123123L,321321L,56786L};
 long[] ids = Arrays.stream(longIds).filter(Objects::nonNull).distinct().mapToLong(Long::longValue).toArray();

 //String[] strIds = new String[]{"123","321","567"};
 //long[] ids = Arrays.stream(strIds).filter(Objects::nonNull).distinct().mapToLong(Long::parseLong).toArray();

List转Map


 public class User{
     private Long id;
     private String name;
     //省略get,set....
 }
 
 //不能重复Key,值不能为空
 Map<Long, String> map = list.stream().collect(Collectors.toMap(User::getId, User::getName));
 //重载,不能重复Key,值可以为空
 Map<Long, String> map = list.stream().collect(HashMap::new, (m,v)->m.put(v.getId(), v.getName()),HashMap::putAll);
 //去重复取新值 Map值不能为空
 Map<Long, String> map = list.stream().collect(Collectors.toMap(User::getId, User::getName,(oldValue,newValue)->newValue)));
 //获取对象   Map值不能为空
 Map<Long, User> map = list.stream().collect(Collectors.toMap(User::getId,Function.identity(),(oldValue,newValue)->newValue)));
 //去重复取新值  过滤空
 Map<Long, String> map = list.stream()
          .filter(user->user.getId()!=null)
          .filter(user->user.getName()!=null)
          .collect(Collectors.toMap(User::getId, User::getName,(oldValue,newValue)->newValue)));

Map转List


 public class User{
     private Long id;
     private String name;
     //省略get,set....
 }
 
 //获取值
 List<User> userList = new ArrayList<>(userMap.values());
 //获取键
 List<Long> ids = new ArrayList(userMap.keySet());
 //获取子元素
 List<String> names =  userMap.values().stream().collect(ArrayList::new,(m,v)->m.add(v.getName()),ArrayList::addAll);
//获取子元素 + 过滤
 List<String> names =  userMap.values().stream()
          .filter(user->!user.getName().equals("admin"))
          .collect(ArrayList::new,(m,v)->m.add(v.getName()),ArrayList::addAll);

相关文章

  • JAVA基础第四天

    JAVA数据类型---布尔类型; 数据类型转换自动数据类型转换 强制数据类型转换

  • Java强制类型转换

    Java强制类型转换 语法:“(”+“目标类型”+“)”+“想要转换的值”; 例如: 结果 9 Java中如果将...

  • 8、MyBatis自定义TypeHandler

    TypeHandler是MyBatis的类型转换器,用于java类型和数据库类型的转换,如java类型是jva.u...

  • 2018-07-17

    JAVa的变量类型和类型转换

  • Java中必须了解的常用类

    学习了解# Java中的包装类 Java中基本类型和包装类型之间的转换 Java中基本类型和字符串之间的转换 使用...

  • Java基础知识2

    Java基础知识2 类型转换 由Java是强类型语言 所以要进行有些运算的时候 需要用到类型转换 低 ------...

  • 类型转换

    由于java是强类型语言,所以要进行有些运算的时候,需要类型转换 从左到右是自动类型转换,从右到左是强制类型转换。...

  • java数据类型

    1、整型拓展 2、浮点数 3、类型转换 java强制类型转换和自动类型转换。自动类型转换是程序执行过程中自动进行转...

  • Java数据类型转换

    Java的类型转换可分为基本类型和引用类型的数据转换。 基本类型的转换 类型转换主要在赋值、方法调用、算术运算三种...

  • 第二章 java基础(类型转换符一)

    —— 本文参照 Learn Java for Android Development (第三版)类型转换符类型转换...

网友评论

      本文标题:Java 类型转换

      本文链接:https://www.haomeiwen.com/subject/hdqdtqtx.html