String类创建字符串对象的6种方法
String类是在java.lang包下,String类不需要导入
lang是基类,是lang是万类之源吧,所以没必要引用
java中java.lang包的内容是自动导入的,不需要手动导入,其它必须手动导入
创建字符串对象
常用的创建对象方法:
/*
* 关于String类中的构造方法。
* 第一个:String s = new String("");
* 第二个:String s = ""; 最常用
* 第三个:String s = new String(char数组);
* 第四个:String s = new String(char数组,起始下标,长度);
* 第五个:String s = new String(byte数组);
* 第六个:String s = new String(byte数组,起始下标,长度)
*/
public class StringTest04 {
public static void main(String[] args) {
String s1 = "hello world!";
// s1这个变量中保存的是一个内存地址。
// 按说以下应该输出一个地址。
// 但是输出一个字符串,说明String类已经重写了toString()方法。
System.out.println(s1);//hello world!
System.out.println(s1.toString()); //hello world!
// 这里只掌握常用的构造方法。
byte[] bytes = {97, 98, 99}; // 97是a,98是b,99是c
String s2 = new String(bytes);
// 前面说过:输出一个引用的时候,会自动调用toString()方法,默认Object的话,会自动输出对象的内存地址。
// String类已经重写了toString()方法。
// 输出字符串对象的话,输出的不是对象的内存地址,而是字符串本身。
System.out.println(s2.toString()); //abc
System.out.println(s2); //abc
// String(字节数组,数组元素下标的起始位置,长度)
// 将byte数组中的一部分转换成字符串。
String s3 = new String(bytes, 1, 2);
System.out.println(s3); // bc
// 将char数组全部转换成字符串
char[] chars = {'我','是','中','国','人'};
String s4 = new String(chars);
System.out.println(s4);
// 将char数组的一部分转换成字符串
String s5 = new String(chars, 2, 3);
System.out.println(s5);
String s6 = new String("helloworld!");
System.out.println(s6); //helloworld!
补充:
输出一个引用的时候,会自动调用toString()方法,默认Object的话,会自动输出对象的内存地址
注意:String类已经重写了toString()方法
String s1 = "hello world!";
System.out.println(s1);//hello world!
System.out.println(s1.toString()); //hello world!
输出的是字符串对象,输出的不是对象的内存地址,那么结果就是字符串本身运行出来