JAVA小白的崛起之路(五)常用类
object
Object类是所有Java类的根基类
如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类
toString
方法
其返回值是 String 类 型,用来描述当前对象的有关信息。
在进行String与其它类型数据的连接操作时(如: System.out.println(“info”+person))
,将自动调用该对象类的toString()
方法。
可以根据需要在用户自定义类型中重写toString()
方法。
equals方法
提供定义对象是否“相等”的逻 辑。
引用的对象是同一类对象 且属性内容相等时(并不一定是相同对象),返回 true 否则返回 false。
可以根据需要在用户自定义类型中重写 equals 方法。
==与equals的区别和使用场景
1,对于==,如果用来比较基本数据类型的变量,是直接比较其内存中所存储的 “值”是否相等;如果作用于引用类型的变量,则比较的是所指向的对象的引用地址是否相同.
2,equals方法是对非基本数据类型例如String类进行code值比较,注意不能用来比较基本类型.
== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。
equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object
类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equals方法返回的却是==的判断。
java
中的数据类型可以分为两类:
基本数据类型
byte,short,char,int,long,float,double,boolean
基本数据类型之间的比较需要用双等号(==),因为他们比较的是值
引用数据类型
接口、类、数组等非基本数据类型
Java中的字符串String属于引用数据类型。因为String是一个类
String
常用操作
String类的下述方法能创建并返回一个新的String对象: concat, replace, substring, toLowerCase, toUpperCase, trim
提供查找功能的有关方法: endsWith, startsWith, indexOf,lastIndexOf
提供比较功能的方法: equals, equalsIgnoreCase, compareTo
其它方法: charAt ,length
public static String valueOf(…)
可以将基本类型数据转换为字符串
char charAt(int index)
返回 char指定索引处的值。
int compareTo(String anotherString)
按字典顺序比较两个字符串。
String concat(String str)
将指定的字符串连接到该字符串的末尾。
boolean equals(Object anObject)
将此字符串与指定对象进行比较。
String substring(int beginIndex)
返回一个字符串,该字符串是此字符串的子字符串。从指定的位置开始截取某一子字符串
String substring(int beginIndex, int endIndex)
返回一个字符串,该字符串是此字符串的子字符串。[)左闭右开
int indexOf(int ch)
返回指定字符第一次出现的字符串内的索引。
int indexOf(int ch, int fromIndex)
返回指定字符第一次出现的字符串内的索引,以指定的索引开始搜索。
int indexOf(String str)
返回指定子字符串第一次出现的字符串内的索引。
boolean isEmpty()
返回 true如果,且仅当 length()为 0 。判断是否为空字符串;
int lastIndexOf(int ch)
返回指定字符的最后一次出现的字符串中的索引。
inty length()
返回此字符串的长度。
String replace(char oldChar, char newChar)
返回从替换所有出现的导致一个字符串 oldChar在此字符串 newChar 。
String[] split(String regex)
将此字符串分割为给定的 regular expression的匹配。按照正则表达式对字符串进行分割
char[] toCharArray()
将此字符串转换为新的字符数组。
String toLowerCase()
将所有在此字符 String使用默认语言环境的规则,以小写
String toUpperCase()
将所有在此字符 String使用默认语言环境的规则大写
boolean startsWith(String prefix)
测试此字符串是否以指定的前缀开头。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结尾。
StringBuer
和StringBuilder
public StringBuilder append(…)方法 可以为该StringBuilder 对象添加字符序列,返 回添加后的该StringBuilder对象引用。
public StringBuilder delete(int start,int end)方法 可以删除从start开始到end-1为止 的一段字符序列,返回修改后的该StringBuilder对象引用。
public StringBuilder deleteCharAt(int index)方法 移除此序列指定位置上的 char。
public StringBuilder insert(…)方法 可以为该StringBuilder 对象在指定位置插入字符 序列,返回修改后的该StringBuilder对象引用
public StringBuilder setCharAt(int index,char ch) 设置指定位置
和 String 类含义类似的方法
public int indexOf(String str)
public int indexOf(String str,int fromIndex)
public String substring(int start)
public String substring(int start,int end)
public int length() char charAt(int index)
public StringBuilder reverse()方法
用于将字符序列逆序,返回修改后的该 StringBuilder对象引用。
public String toString()方法 返回此序列中数据的字符串表示形式。
String使用的陷阱:String一经初始化后,就不会在改变其内容了。对String字符串 的操作实际上对其副本(原始拷贝)的操作,原来的字符串一点都没有改变