• Java面向对象编程 -9.3


    字符串常量
    字符串常量是String类的匿名函数
    现在已经清楚了String类的基本操作形式,但是需要做出一个明确的定义,在程序的开发之中任何的一个整数都是int类型,任意的小数默认都是double类型,但是对于字符串而言,首先程序之中不会提供字符串这样的基本数据类型,那么可以提供的只是String类,所以任何使用“”定义的字符串常量实际上描述的都是String类的匿名对象。

    所谓的String类对象的直接赋值直接描述的是,将一个匿名对象设置一个具体的名字。
    匿名对象是String实例化对象,实例化对象可以调用equals()方法。

    //观察匿名对象
    public class name3 {
    	public static void main(String args[]){
    		String str= null;
    		System.out.println("ms".equals(str));
    	}
    }
    

    此时可以发现字符串对象可以明确调用equals()方法实现对象相等的判断,所以可以得出结论:程序中的确没有字符串常量这种基本类型,有的只是String类的匿名对象。

    关于对象相等判断的小技巧:
    在以后进项项目开发的时候,如果现在某些数据是由用户输入,并且要求这些数据为一个指定内容的情况下建议将字符串写在前面。


    equals()方法里面提供有一个可以回避null的判断,所以如果将字符串常量写在前面,那么调用equals()方法的时候不会出现“NullPointerException”,字符串是一个匿名对象,匿名对象一定是开辟好堆内存空间的对象,不会为空,写在后面可能会造成空指针异常。

  • 相关阅读:
    cocos2d-x笔记5: 通过jni实现C++调用Java
    cocos2d-x笔记4: TextField不能删除内容,以及我的解决办法。。。
    C++ 11 笔记 (六) : 随机数
    C++ 11 笔记 (五) : std::thread
    C++ 11 笔记 (四) : std::bind
    C++ 11 笔记 (三) : auto
    C++ 11 笔记 (二) : for循环
    要做的题目
    【C补充】结构体的内存分配,匈牙利命名法
    【C补充】文件操作
  • 原文地址:https://www.cnblogs.com/sakura579/p/12504823.html
Copyright © 2020-2023  润新知