字符串常量池
Java中equals与==的区别
JAVA当中所有的类都是继承于Object基类的 ,在Object中的基类中定义了一个equals的方法 , 这个方法的初始化行为是比较对象的内存地址 , 但在一些类库中这个方法被覆盖掉了, 如String, Integer, Date中equals有其自身的实现 , 而不再是比较内存地址!!!
比较基本数据类型的包装类的值最好用equals , 用"
==
"比较时,若数据超出范围(int型在-128到127)即便数值相等,也会false.
![](https://i-blog.csdnimg.cn/blog_migrate/90eac462be020a7d8936b08090ab88e8.png)
Integer和int的区别
2、Integer默认值是null,而int默认值是0;
3、声明为Integer的变量需要实例化,而声明为int的变量不需要实例化;
4、Integer是对象,用一个引用指向这个对象,而int是基本类型,直接存储数值。
String类型的substring方法有两种:
String.substring(a,b)表示的是从a位置开始,到b位置结束;
String.substring(a)表示从a位置开始。
// 引用数据类型 == 比较的是
两个引用变量是否指向同一个对象
// 字面量: "
abc
"
![](https://i-blog.csdnimg.cn/blog_migrate/d4f31c98c24369e7aa78c38db7e7c988.png)
// 难点非重点
// 基本数据 类型都有自己的常量池
![](https://i-blog.csdnimg.cn/blog_migrate/367ce3176443064b1eaa107054fcb37c.png)