Java中intinteger该如何相互转换?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中intinteger该如何相互转换?相关的知识,希望对你有一定的参考价值。

参考技术A int转Integer
在jdk1.5以前,只能用如下转法:
int i = 0;
Integer wrapperi = new Integer(i);
在jdk1.5以后,可以使用自动装箱机制:
int i = 0;
Integer wrapperi = i;

Integer转int
Integer wrapperi = new Integer(0);
int i = wrapperi.intValue();
参考技术B 不知道这样的答案你满意吗?
Integer(int value)
构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s)
构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。

int n=Integer.parseInt("");
将不是int类形的其他类型转为int类型
参考技术C int到Integer:
int a=3;
Integer A=new Integer(a);
或:
Integer A=Integer.valueOf(a);

Integer到int:
Integer A=new Integer(5);
int a=A.intValue();

至于Integer.parseInt(String str)则是将String类型转为int类型。

Jackson 对象和JSON的相互转换

参考技术A 一、Java对象 ⇒ JSON

1.1 转换方式

首先创建转换对象ObjectMappera

ObjectMapper mapper = new ObjectMapper();

该对象主要有两个转换方法

第二种方式:

mapper.writeValue(参数1,p1);

关于参数1

File:将obj对象转换为json字符串,并保存到指定的文件中

Write:将obj对象转换为json字符串,并将json填充到字符输出流中

OutputStream:将obj对象转换为json字符串,并将json填充到字节输出流中

比如:

将JSON字符串数据写入到test.txt文件中:

mapper.writeValue(new File("/Users//Desktop/test.txt"), p1);

1.2 注解使用

@JsonIgnore:排除属性

@JsonIgnore

private Date birthday;

转换最终的JSON字符串中,不会有birthday键值对。

@JsonFormat:属性值格式化

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

private Date birthday;

转换结果:

“name”:“Alex”,“age”:21,“gender”:“男”,“birthday”:“2019-03-27 06:23:33”

1.3 复杂Java对象转换

List集合转换为JSON字符串:

ObjectMapper mapper = new ObjectMapper();

String json = mapper.writeValueAsString(list);

System.out.println(json);

输出结果:

[“name”:“Alex”,“age”:21,“gender”:“男”,“birthday”:“2019-03-27 06:25:23”,“name”:“Alex”,“age”:21,“gender”:“男”,“birthday”:“2019-03-27 06:25:23”,“name”:“Alex”,“age”:21,“gender”:“男”,“birthday”:“2019-03-27 06:25:23”]

Map集合转换为JSON字符串

public void test4() throws Exception

    Person p1 = new Person();

    p1.setName("Alex");

    p1.setAge(21);

    p1.setGender("男");

    p1.setBirthday(new Date());

    // 创建JavaBean对象

    Map<String, Object> map = new HashMap<String, Object>();

//        map.put("name", "Alex");

//        map.put("age", "1111");

//        map.put("gender", "xxx");

    map.put("k1", p1);

    map.put("k2", p1);

    map.put("k3", p1);

    // 转换

    ObjectMapper mapper = new ObjectMapper();

    String json = mapper.writeValueAsString(map);

    System.out.println(json);



输出结果:

“k1”:“name”:“Alex”,“age”:21,“gender”:“男”,“birthday”:“2019-03-27 06:30:08”,“k2”:“name”:“Alex”,“age”:21,“gender”:“男”,“birthday”:“2019-03-27 06:30:08”,“k3”:“name”:“Alex”,“age”:21,“gender”:“男”,“birthday”:“2019-03-27 06:30:08”

二、JSON ⇒ Java对象

2.1 JSON转换为Java对象

String json = "\"name\":\"Alex\",\"age\":21,\"gender\":\"男\",\"birthday\":\"2019-03-27 06:01:54\"";

ObjectMapper mapper = new ObjectMapper();

Person person = mapper.readValue(json, Person.class);

System.out.println(person);

2.2 JSON转换为Java集合对象

String json = "[\"name\":\"Alex\",\"age\":21,\"gender\":\"男\",\"birthday\":\"2019-03-27 06:01:54\"," +

                "      \"name\":\"Alex\",\"age\":21,\"gender\":\"男\",\"birthday\":\"2019-03-27 06:01:54\"," +

                "      \"name\":\"Alex\",\"age\":21,\"gender\":\"男\",\"birthday\":\"2019-03-27 06:01:54\"]\n";

ObjectMapper mapper = new ObjectMapper();

List<Person> list = mapper.readValue(json, new TypeReference<List<Person>>() );

for (Person p : list)

    System.out.println(p);



输出结果:

Personname=‘Alex’, age=21, gender=‘男’, birthday=Wed Mar 27 14:01:54 CST 2019

Personname=‘Alex’, age=21, gender=‘男’, birthday=Wed Mar 27 14:01:54 CST 2019

Personname=‘Alex’, age=21, gender=‘男’, birthday=Wed Mar 27 14:01:54 CST 2019

以上是关于Java中intinteger该如何相互转换?的主要内容,如果未能解决你的问题,请参考以下文章

Java中int integer相互如何 转换

Java中Date与String的相互转换

Java中Date与String的相互转换

[转] java中int,char,string三种类型的相互转换

java中int,char,string三种类型的相互转换

Jackson 对象和JSON的相互转换