Java字符数组与字符串的相互转换

本文介绍Java中字符数组与字符串之间的相互转换方法。包括使用构造函数整体及部分转换字符数组为字符串,以及利用String类的toCharArray()方法将字符串转为字符数组。同时也提供了遍历字符串创建字符数组的方法。

Java中字符数组与字符串的相互转换

字符数组转字符串

		char[] chs = {'h', 'e', 'l', 'l', 'o'};
 		
		//传递一个参数,即字符数组名字
        String str1 = new String(chs);
        System.out.println("通过构造函数,整体转换:");
        System.out.println(str1);

        //传递三个参数,即字符数组名字, 开始的下标,转换的长度
        String str2 = new String(chs, 1, 3);
        System.out.println("通过构造函数,部分转换:");
        System.out.println(str2);

        //传递一个参数,即字符数组名字
        String str3 = String.valueOf(chs);
        System.out.println("通过String.valueOf()方法,整体转换:");
        System.out.println(str3);
通过构造函数,整体转换:
hello
通过构造函数,部分转换:
ell
通过String.valueOf()方法,整体转换:
hello

字符串转字符数组

调用String的toCharArray()方法

		String str = "world";
        char[] chs = str.toCharArray();
        System.out.println(Arrays.toString(chs));
[w, o, r, l, d]

也可以自己遍历

		char[] chs2 = new char[str.length()];
        for (int i = 0; i < chs2.length; i++) {
            chs2[i] = str.charAt(i);
        }
        System.out.println(Arrays.toString(chs2));
[w, o, r, l, d]
### Java 中对象数组 JSON 字符串之间的相互转换 #### 将对象数组转换为 JSON 字符串Java 中,可以使用 `com.alibaba.fastjson.JSON` 类来将对象数组转换为 JSON 字符串。具体方法如下: ```java import com.alibaba.fastjson.JSON; public class ObjectArrayToJson { public static void main(String[] args) { String[][] data = {{"name", "zhangsan"}, {"value", "21"}}; String objJson = JSON.toJSONString(data); System.out.println(objJson); } } ``` 这段代码展示了如何通过调用 `JSON.toJSONString()` 方法将二维字符串数组转换为 JSON 字符串[^1]。 对于更复杂的数据结构,比如自定义类的对象数组,同样适用此方法。假设有一个名为 `Person` 的类,则可以通过以下方式完成转换: ```java import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.List; class Person { private String name; private int value; // 构造函数, getter 和 setter 省略... } public class ComplexObjectArrayToJson { public static void main(String[] args) { List<Person> personList = new ArrayList<>(); personList.add(new Person("zhangsan", 21)); personList.add(new Person("lisi", 18)); String jsonStr = JSON.toJSONString(personList); System.out.println(jsonStr); } } ``` 上述例子中创建了一个包含多个 `Person` 实例的列表,并将其序列化为 JSON 格式的字符串输出[^3]。 #### 将 JSON 字符串反序列化回对象数组 要从 JSON 字符串恢复原始的对象数组形式,可借助 Jackson 库中的 ObjectMapper 工具类实现这一过程。首先需确保已引入必要的 Maven 依赖项[^2]: ```xml <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.5</version> </dependency> ``` 接着编写相应的解析逻辑: ```java import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.util.List; class JsonToObjectArrayExample { public static void main(String[] args) throws IOException { String jsonString = "[{\"name\":\"zhangsan\",\"value\":21},{\"name\":\"lisi\",\"value\":18}]"; ObjectMapper mapper = new ObjectMapper(); List<Person> persons = mapper.readValue(jsonString, mapper.getTypeFactory().constructCollectionType(List.class, Person.class)); for (Person p : persons){ System.out.printf("%s %d\n",p.getName(),p.getValue()); } } } ``` 这里利用了 `ObjectMapper` 提供的方法读取并映射给定的 JSON 文本至指定类型的集合上,在这个案例里即是从 JSON 数组到 `List<Person>` 的变。
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值