String类的特点

1.String类的两种实例化方式

直接赋值:String 变量=“字符串”;

public class Test {   

public static void main(String[] args) {
	
	String  mic = "Go to";//直接赋值
	System.out.println(mic);

		}
}

以上代码并没有用关键字new进行。在String类里面实际上也定义了一个构造方法。

构造方法:public String(String str),在构造里面依然要接收一个本类的对象;

 利用构造方法实例化:

public class Test {   

public static void main(String[] args) {
	
	String  mic = new String("Go to");
	System.out.println(mic);

		}
}
2.字符串的比较

范例:在对象上使用“==”比较

public class Test {   

public static void main(String[] args) {
	
	String  stra = new String("Amani");
	String  strb ="Amani";
	String  strc = stra;  	//引用传递
	System.out.println(stra==strb);//false
	System.out.println(strb==strc);//false
	System.out.println(strc==stra);//true

		}
}

以上三个String对象的内容是一样的,通过分析“==”也进行了比较,但比较的并不是字符串对象所包含的内容,而是它们所在的内存地址的数值所以“==”是数值比较,比较的是内存地址。

而如果想去比较字符串内容则用 public boolean equals(String str);

范例:实现内容比较

public class Test {   

public static void main(String[] args) {
	
	String  stra = new String("Amani");
	String  strb ="Amani";
	String  strc = stra;  	//引用传递
	System.out.println(stra.equals(strb));//true
	System.out.println(strb.equals(strc));//true
	System.out.println(strc.equals(stra));//true

		}
}

所以如果要是进行字符串相等判断,千万别用“==”。

在字符串相等的判断中“==”和equals的区别?

“==”是Java提供的关系运算符,主要功能是进行数值相等判断的,如果用在String对象上表示的是内存地址数值的比较。

“equals()”是由String提供的一个方法,此方法专门负责进行字符串内容的比较。

3.字符串常量就是String的匿名对象

Java自己创造了字符串,但是这个字符串不属于基本数据类型,它是将字符串作为了String类的匿名对象的形式存在的。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值