Java中的String转换与编码
发布时间: 2023-12-19 04:12:44 阅读量: 15 订阅数: 14
# 1. 理解String类
## 1.1 String类的基本特性
在Java中,String类代表字符串对象,它是不可变的,即一旦创建就不能被修改。String类提供了丰富的方法来操作字符串,包括拼接、截取、替换等操作。
```java
String str1 = "Hello";
String str2 = "World";
String result = str1 + " " + str2; // 字符串拼接
System.out.println(result); // 输出:Hello World
```
## 1.2 字符串的不可变性
String类的不可变性指的是,一旦一个String对象被创建,它的值就不能被改变。任何对字符串的操作都不会改变原始字符串,而是返回一个新的字符串对象。
```java
String original = "Hello";
String modified = original.concat(" World");
System.out.println(original); // 输出:Hello
System.out.println(modified); // 输出:Hello World
```
## 1.3 字符串的存储结构
在Java中,字符串的存储结构是以Unicode字符序列形式保存的。每个字符占用16位,即2个字节的存储空间,这样可以支持几乎所有的国际语言。
```java
String str = "Java";
System.out.println(str.length()); // 输出:4,即字符个数
System.out.println(str.charAt(0)); // 输出:J,获取指定位置的字符
```
## 字符串的转换方法
字符串在Java中经常需要与其他数据类型进行相互转换,在本章节中,我们将深入探讨字符串与基本数据类型、字符数组、字节数组之间的转换方法。
### 2.1 字符串与基本数据类型的相互转换
在Java中,可以通过一些内置的方法将字符串与基本数据类型相互转换。以下是一些常见的实例代码:
```java
public class StringConversionExample {
public static void main(String[] args) {
// 字符串转换为整数
String str = "123";
int num = Integer.parseInt(str);
System.out.println("String to int: " + num);
// 整数转换为字符串
int number = 456;
String numberStr = String.valueOf(number);
System.out.println("Int to String: " + numberStr);
}
}
```
**代码总结:** 在Java中,使用`Integer.parseInt`可以将字符串转换为整数,`String.valueOf`可以将整数转换为字符串。
**结果说明:** 以上代码执行后,将会输出字符串转换为整数和整数转换为字符串的结果。
### 2.2 字符串与字符数组的转换
字符串与字符数组之间的转换是常见的操作,可以通过`String`类的`toCharArray`方法来实现字符串转换为字符数组,通过`String`类的构造函数或者`String`类的静态方法`valueOf`来将字符数组转换为字符串。
以下是转换示例:
```java
public class StringCharArrayConversionExample {
public static void main(String[] args) {
// 字符串转换为字符数组
String str = "Hello";
char[] charArray = str.toCharArray();
System.out.println("String to char array: " + Arrays.toString(charArray));
// 字符数组转换为字符串
char[] charArr = {'W','o','r','l','d'};
String newStr = new String(charArr);
System.out.println("Char array to String: " + newStr);
}
}
```
**代码总结:** 使用`String`类的`toCharArray`方法可以将字符串转换为字符数组,使用`String`类的构造函数可以将字符数组转换为字符串。
**结果说明:** 以上代码执行后,将会输出字符串转换为字符数组和字符数组转换为字符串的结果。
### 2.3 字符串与字节数组的转换
字符串与字节数组之间的转换涉及到字符编码,可以通过`String`类的`getBytes`方法将字符串转换为字节数组,通过`String`类的构造函数或者`String`类的静态方法`valueOf`将字节数组转换为字符串。
以下是转换示例:
```java
import java.util.Arrays;
public class StringByteArrayConversionExample {
public static void main(String[] args) {
// 字符串转换为字节数组
String str = "Java";
byte[] byteArray = str.getBytes();
System.out.println("String to byte array: " + Arrays.toString(byteArray));
// 字节数组转换为字符串
byte[] byteArr = {74, 97, 118, 97};
String newStr = new String(byteArr);
System.out.println("Byte array to String: " + newStr);
}
}
```
**代码总结:** 使用`String`类的`getBytes`方法可以将字符串转换为字节数组,使用`String`类的构造函数可以将字节数组转换为字符串。
**结果说明:** 以上代码执行后,将会输出字符串转换为字节数组和字节数组转换为字符串的结果。
### 3. 字符编码与解码
在Java编程中,字符编码与解码是非常重要的概念,特别是在处理各种文本数据时。本章将介绍字符编码的概念
0
0