1、字符串String类存放与 java.lang 包中,因为java.lang包是系统默认引入的,所以使用该包时,不用再通过 import 关键字进行引入了;
2、String 类是 final 类型的类,所以 String 类不能被其他类继承,即没有子类;
字符串String的使用:String 常量 :和别的数据类型不一样,String类型的常量 和 对象一样,也拥有自己的 引用和实体,这些引用和实体都存放在常量池中;
例如: "你好"、"itm"、"my" ,这三个都是String 常量,它们分别拥有自己的 引用和实体 ;
String 对象:通过 String类 声明对象并创建对象;
声明空对象 ;
String str ;
创建对象 ;
String str = new String("my one String");
****因为 String常量 拥有自己的 引用和实体,所以可以通过 String 常量 直接赋值给 String 对象 ,这样对象就拥有了和常量一样的引用和实体了;
例如:
String ac;
ac = "你好";
System.out.println("ac:"+ac);
****需要注意的是,用户不能输出String对象的引用,上面代码 ac 输出的不是引用值,而是: 你好 ;
String类比较常用构造方法:1、String str = new String(); //此时对象 str 实体为 空 ;
2、String str = new String("你好"); //此时对象 str 实体为 你好 ;
3、String s = new String(str); //此时对象 s 的引用和实体 与 对象str一样 ;
4、String(char [] a) 用一个字符数组创建一个String对象;
例如:
char[] ch = {'你','好','世','界'};
String str = new String(ch);
str的实体为:你好世界 ;
5、String(char [] a , int start , int count) 用一个字符数组指定 位置、数量 创建一个String对象;
start表示: 起点,从0开始算起;
count表示: 个数,不是位置,从1开始算起;
例如:
char[] ch = {'你','好','世','界','n','m'};
String str = new String(ch,2,3);
System.out.println(str);
str的实体为:世界n ;
字符串String的并置:String 对象可以通过 “ + ” ,进行并置,得到一个新的 String对象;
第一种情况:
String h = "ITM", j = "ITM" ;
String hj = h + j ;
第二种情况:
String hj = "ITM" + "ITM" ;
需要注意的是:对于第一种情况,对象 hj 会得到新的 引用;
如下代码↗:
String h = "d",j = "s" ;
String hj,jh;
hj = h + j ;
jh = h + "s" ;
if(hj == jh){
System.out.println("hj == jh");
}else{
System.out.println("hj != jh");
}
if(hj.equals(jh)){
System.out.println("hj == jh");
}else{
System.out.println("hj != jh");
}
代码中,对于 对象 hj 和 jh ,都存在一个 String对象的赋值 ,所以对象 hj 和 jh 会得到新的 引用 ;
相当于: hj = new String("ds") ; jh = new String("ds") ;
代码输出结果:
hj != jh
hj == jh
对于第二种情况得到的是常量池中已有的引用;
如下代码↗:
String hj,jh;
hj = "d" + "s" ;
jh = "d" + "s" ;
if(hj == jh){
System.out.println("hj == jh");
}else{
System.out.println("hj != jh");
}
if(hj.equals(jh)){
System.out.println("hj == jh");
}else{
System.out.println("hj != jh");
}
代码中,对于 对象 hj 和 jh ,都是 String 常量 + String 常量 进行运算的,所以结果也是一个 String 常量,则它们的引用都是一样的;
代码输出结果:
hj == jh
hj == jh
字符串String与基本数据类型的相互转换:
一、字符串String 转换成 基本数据类型 ;
调用 java.lang 包的 Byte、Short、Integer、Long、Double 类中相应方法,可以实现字符串类型转换成基本数据类型;
如下代码↗:
String number = "111" ;
int in = Integer.parseInt(number);
in += 11 ;
System.out.println("in:"+in);
代码输出结果:
in:122
对于其他数据类型,使用时也是一样的:
byte by = Byte.parseByte(number);
short sho = Short.parseShort(number);
long lon = Long.parseLong(number);
float flo = Float.parseFloat(number);
double dou = Double.parseDouble(number);
需要注意的是:
1、转换时,String对象的值是不能有字母的;
二、基本数据类型 转换成 字符串String;
通过 String 类的 public static String valueOf() ; 方法,可以实现基本数据类型 转换成 字符串String类型;
如下代码↗:
double casea = 122.111;
String strings = String.valueOf(casea);
String str = "密码:";
System.out.println(str+strings);
代码输出结果:
密码:122.111
作者:LagerSwan、