Java String构造方法

Posted 像走了一光年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"

以上是关于Java String构造方法的主要内容,如果未能解决你的问题,请参考以下文章

hashmap冲突的解决方法以及原理分析:

089Java中String类之利用构造方法实例化

Java面试题 静态代码块 构造代码块 构造方法 的执行顺序

Java构造块,静态代码块,构造方法执行顺序

java代码(android中的java): public String substring(int start) if (start == 0) return this;

java代码块,静态代码块,静态变量,构造方法执行顺序