Java String构造方法
感谢大神: https://www.cnblogs.com/JavaSubin/p/5450849.html
2,常见构造方法
public String():空构造 public String(byte[] bytes):把字节数组转成字符串 public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串 public String(char[] value):把字符数组转成字符串 public String(char[] value,int index,int count):把字符数组的一部分转成字符串 public String(String original):把字符串常量值转成字符串
-----------------------------------------------------------------------------------------------------------------------------
构造方法:
1)无参构造方法
String()
String s1 = new String(); System.out.println(s1);// 啥也不输出
2)参数为字符串类型
String(String original)
String s6 = new String("KobeBryant"); System.out.println(s6);
3)参数为 byte 数组类型
String(byte[] bytes)
String(byte[] bytes, Charset charset)
byte 是网络传输或存储的序列化形式,所以在很多传输和存储的过程中需要将 byte[] 数组和 String 进行相互转化。
有关 IO 流的代码中会出现这个构造方法,字符编码导致的乱码问题也是比较多的,这里需要注意:一旦看到 byte 数组,一定要想到编码问题。
经常会用到 getBytes【字符串转字符数组】(Charset charset) 方法:
byte[] arr1 = { 97, 98, 99, 100 }; String s2 = new String(arr1); System.out.println(s2);//abcd
4)参数为 char 数组类型
char[] arr3 = { 'a', 'b', 'c', 'd', 'e' }; // 将字符数组转换成字符串 String s4 = new String(arr3); System.out.println(s4);//abcde
5)参数为 StringBuilder 或者 StringBuffer 类型
String(StringBuffer buffer)
(Allocates a new string that contains the sequence of characters currently contained in the string buffer argument.)
String(StringBuilder builder)
(Allocates a new string that contains the sequence of characters currently contained in the string builder argument.)
StringBuilder sbb = new StringBuilder(); sbb.append("hello ").append("world"); String str1 = sbb.toString(); //hello world
String.valueOf() 方法的使用
1. 由 基本数据型态转换成 String
String 类别中已经提供了将基本数据型态转换成 String 的 static 方法
也就是 String.valueOf() 这个参数多载的方法
有下列几种
String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串
String.valueOf(char c) : 将 char 变量 c 转换成字符串
String.valueOf(char[] data) : 将 char 数组 data 转换成字符串
String.valueOf(char[] data, int offset, int count) :
将 char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串
String.valueOf(double d) : 将 double 变量 d 转换成字符串
String.valueOf(float f) : 将 float 变量 f 转换成字符串
String.valueOf(int i) : 将 int 变量 i 转换成字符串
String.valueOf(long l) : 将 long 变量 l 转换成字符串
String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()
用法如:
int i = 10;
String str = String.valueOf(i);
这时候 str 就会是 "10"