java常见数据类型转换汇总

目录

集合 转 数组

数组 转 集合

集合 转 string(并分割)

数组 转 字符串

字符串转集合

字符串 转 字符数组

字符串去重(并分割)

字符串拼接(并分割)

简单类型

Java字符串拼接写法

一、joiner.on

二、StringBuilder

三、Stream

 json转具体对象


集合 转 数组

// 注意:list.toArray 如果没有指定泛型,得到的是 Object[] 向下转型会报错
List<String> list = Arrays.asList("a", "b", "c", "d", "e");
String[] strArray = list.toArray(new String[0]);
for (int i = 0; i < strArray.length; i++) {
     System.out.println(strArray[i]);
}

工作中示例

Long[] jobIds = (Long[]) appraiseSettings.stream().map(OperationAppraiseSetting::getJobId).toArray();

报错:[Ljava.lang.Object; cannot be cast to [Ljava.lang.Long;
      因为.toArray()转换数组是Object[],相当于初始化数组就是Object[]类型 
                                
解决:
   Long[] jobIds = appraiseSettings.stream().map(OperationAppraiseSetting::getJobId).toArray(Long[]::new);

数组 转 集合

Arrays.asList(strArray);

集合 转 string(并分割)

String collect = Arrays.asList("a", "b", "c", "d", "e").stream().collect(Collectors.joining(","));
或者
String collect = String.join(",", Arrays.asList("a", "b", "c", "d", "e"));

数组 转 字符串

        String[] array = {"1", "43", "32"};
        String str = String.join(",", array);
String str = Arrays.stream(array).collect(Collectors.joining(","));
StringBuffer sb = new StringBuffer();
for (String str : array) {
    sb.append(str);
}

字符串转集合

List<Long> orderIds = Arrays.stream(str.split(",")).map(Long::valueOf).collect(Collectors.toList());

字符串 转 字符数组

String str="123456";
char[] c = str.toCharArray() ;

字符串去重(并分割)

String = deviceTypes = Arrays.stream(str.split(",")).distinct().collect(Collectors.joining(","));

字符串拼接(并分割)

new StringJoiner(":")).add(keyEnum.key).add("TENANT_ID").add(toString(tenantId));

简单类型

由int类型转换为long类型是向上转换,可以直接进行隐式转换
由long类型转换为int类型是向下转换,可能会出现数据溢出情况

Java字符串拼接写法

一、joiner.on

String result = Joiner.on(",").join(list);

二、StringBuilder

StringBuilder strBur = new StringBuilder();
list.forEach(val -> {
    strBur.append(val).append("#");
});
strBur.toString();

三、Stream

String result = list.stream().collect(Collectors.joining("_"));

 json转具体对象

	String jsonStr = JSON.toJSONString(data);
    T t = JSONObject.parseObject(jsonStr, new TypeReference<List<SkuHasStockTo>>() {});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值