String类匿名对象

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

在任何语言的底层上面都不可能辉提供有直接的字符串类型。现在的字符串只是高级语言提供给用户方便开发的支持而已。

所以在java里面本身也没有直接提供有字符串常量的概念,所有使用““””定义的内容本质上来讲都是String的匿名对象。

范例:观察字符串操作

public class StringDemo{
public static void main(String args[]){
String str="hello";
System.out.println(str.equals("hello"));
System.out.println("hello".equals(str));
}}

//ture

//ture

因为“hello”是String类的匿名对象所以它能调用类中的方法

那么在之前出现的“  String str="hello";    ”,本质上就是将一个匿名的String类对象设置有名字,而且匿名对象一定保存在堆内存之中  

在日后的开发之后,如果要判断用户输入的字符串是否等同于指定的字符串,那么一定要将指定字符串写在前面

    比较方法1:

public class StringDemo{
public static void main(String args[]){
String input =null;//由用户输入
System.out.println(input.equals("hello"));
}}

在进行输入数据接收的时候必须要考虑用户没有输入数据的问题,如果以上面的代码为例,用户真没有输入,则执行的时候一定会出现 NullPointerException 问题。   


任何的字符串常量都是String的匿名独享,所以该对象永远不可能为null(空).

倒过来。

"hello",作为匿名对象是绝对不会内容为空的,即便传的是空,也不会报空值异常 最多报false

public class StringDemo{
public static void main(String args[]){
String input =null;//由用户输入
System.out.println(“hello”.equals(input));}}

//false

那么在以后进行比较的时候强烈建议如上写法,把字符串写在前面。


 


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值