Java常见的类型转化(持续更新中)

一.JSON

1.JSON 转JSON对象

import com.alibaba.fastjson.JSONObject;
JSONObject object = JSONObject.parseObject(requestParam); //json对象

2.JSON转成String

 import com.alibaba.fastjson.JSONObject;
 JSONObject object = JSONObject.parseObject(requestParam);
 String jsonString = object.getString("requestParam");

3.对象转JSON对象

 String jsonStr = JSON.toJSONString(person);
 Person person = JSONObject.parseObject(jsonStr, Person.class);

二.String

1. String《===》Integer

String转换为Integer

String str = "123";
Integer num = Integer.parseInt(str);         //方式一  直接使用静态方法,不会产生多余的对象,但会抛出异常。
int num = Integer.valueOf(str).intValue();   //方式二 Integer.valueOf(s) 相当于 new Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象。

int 转换成字串 String

	  int i=8;
1、String s = String.valueOf(i);//直接使用String类的静态方法,只产生一个对象
2、String s = Integer.toString(i);
3、String s = "" + i; //会产生两个String对象

2. String《===》Double

将String转换为Double

	String str = "3.14";
    Double num = Double.parseDouble(str);             //方式一
    Double doubleStr = Double.valueOf(str);           //方式二

将Double转换为String

Double toBeString = 400.40;
String fromDouble = "" + toBeString;                       //方式一
String strDouble = String.valueOf(toBeString);             //方式二

3. 将String转换为其他对象

String str = "true";
Boolean flag = Boolean.parseBoolean(str);

4.String《===》List

String 转List

 String str = "1,2,3,4,5,6";
 List<Long> collect = Arrays.stream(str.split(","))
            .map(s -> Long.parseLong(s.trim()))
            .collect(Collectors.toList());                  //方式一
 List<String> list = Arrays.asList(str.split(","));         //方式二

List 转String

List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");
String join = StringUtils.join(list, ",");                               //方式一  输出:张三,李四,王五,赵六
String str = String.join(",", list);                                     //方式二  输出:张三,李四,王五,赵六
String str = StrUtil.join(",", list);                                    //方式三  调用hutool工具包     输出:张三,李四,王五,赵六
String str = list.stream().collect(Collectors.joining(","));             //方式四  输出:张三,李四,王五,赵六

5.String《===》array

array转String

    String[] strArray = {"Convert", "Array", "With", "Java"};
    String joinedString = String.join(",", strArray);               //方式一   输出:Convert,Array,With,Java 
    String joinedString = Arrays
            .stream(strArray)
            .collect(Collectors.joining(","));  					//方式二   输出:Convert,Array,With,Java 

String转array

String str="Convert,Array,With,Java";
String[] split = str.split(",");

三 .将Object转换成List类型

/**
  * 将Object转换成List类型(如果不是List<?>对象,不能转换)
  *
  * @param obj   Object对象
  * @param clazz 数据类型
  * @param <T>   泛型类型
  * @return 转换结果
  */
 public static <T> List<T> castObjToList(Object obj, Class<T> clazz) {
     List<T> result = new ArrayList<>();
     if (obj instanceof List<?>) {
         for (Object o : (List<?>) obj) {
             // 根据业务需要来决定这里要不要将null值还原放进去
             if (o == null) {
                 result.add(clazz.cast(null));
                 continue;
             }
             // 转换前的前置判断,避免clazz.cast的时候出现类转换异常
             if (o.getClass().equals(clazz)) {
                 // 将对应的元素进行类型转换
                 result.add(clazz.cast(o));
             }
         }
         return result;
     }
     return result;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java攻城狮1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值