黑马程序员 — Object类的toString方法
来源:互联网 发布:凯瑞欧文数据 编辑:程序博客网 时间:2024/05/22 03:05
------------android培训、java培训、期待与您交流! ----------
Object类的toString方法
Object:
JAVA中有一个特殊的类: Object。它是JAVA体系中所有类的父类(直接父类或者间接父类)。
此类中的方法可以使所的类均继承。
以下介绍的方法属于Object:
(1) finalize方法:当一个对象被垃圾回收的时候调用的方法。
(2) toString():是利用字符串来表示对象。
当我们直接打印定义的对象的时候,隐含的是打印toString()的返回值。
可以通过子类作为一个toString()来覆盖父类的toString()。
以取得我们想得到的表现形式,即当我们想利用一个自定义的方式描述对象的时候,我们应该覆盖toString()。
(3)equal
首先试比较下例:
String A=new String(“hello”);
String A=new String(“hello”);
A==B(此时程序返回为FALSE)
str1==str2表示的是比较str1在栈区地址和str2在栈区地址是否相同,如果他们的对象都是new出来的(堆区存放),则为false如果他们的对象都是字符串常量(,如果定义2个相同的字符串常量,两个都指向同一个数据区的字符串常量),则true
equals方法用来判断一个对象的引用和本对象的引用是否相等,即是否是同一块内存,相等返回true,不相等返回false
如果希望两个对象的引用所指向的对象的内容相等时,equals返回true,就需要重写equals方法
附加知识:
字符串类为JAVA中的特殊类,String中为final类,一个字符串的值不可重复。因此在JAVA VM(虚拟机)中有一个字符串池,专门用来存储字符串。如果遇到String a=”hello”时(注意没有NEW,不是创建新串),系统在字符串池中寻找是否有”hello”,此时字符串池中没有”hello”,那么系统将此字符串存到字符串池中,然后将”hello”在字符串池中的地址返回a。如果系统再遇到String b=”hello”,此时系统可以在字符串池中找到 “hello”。则会把地址返回b,此时a与b为相同。
String a=”hello”;System.out.println(a==”hello”);系统的返回值为true。
故如果要比较两个字符串是否相同(而不是他们的地址是否相同)。可以对a调用equal:System.out.println(a.equal(b));
equal用来比较两个对象中字符串的顺序。
a.equal(b)是a与b的值的比较。
注意下面程序:
student a=new student(“LUCY”,20);student b=new student(“LUCY”,20);System.out.println(a==b);System.out.println(a.equal(b));此时返回的结果均为false。
以下为定义equal(加上这个定义,返回ture或false)
public boolean equals(Object o){
student s=(student)o;
if (s.name.equals(this.name)&&s.age==this.age)
else return false;
}如果equals()返回的值为
以下为实现标准equals的流程:
public boolean equals(Object o){
if (this==o) return trun; //此时两者相同
if (o==null) return false;
if (! o instanceof strudent) return false; //不同类
studeng s=(student)o; //强制转换
if (s.name.equals(this.name)&&s.age==this.age) return true;
else return false;
}
以上过程为实现equals的标准过程。
String类中的常用方法:
public char charAt(int index) //返回字符串的第index个字
public int length() //返回字符串的长度
public int indexOf(String str) //返回字符串中出现str的第一个位置
public int indexOf(String str, int fromIndex) //返回字符串中从fromIndex开始出现str的第一个位置
public boolean equalsIgnoreCase(String another) //比较字符串与another是否一样,忽略大小写
public String replace(char oldChar, char new Char) //在字符串中用newChar字符替换oldChar字符
判断字符串是否以prefix字符串开头 public boolean endsWith(String suffix)判断字符串是否以suffix字符串结束 public String toUpperCase()返回该字符串的大写形式public boolean startsWith(String prefix)
public String toLowerCase()返回该字符串的小写形式
public String substring(int beginIndex)返回该字符串从beginIndex开始到结尾的子字符串
public String substring(int beginIndex,int endIndex)返回该字符串从beginIndex开始到endIndex结尾的子字符串
public String[] split(String regex)将字符串按照指定的分隔符分隔,返回分隔后的字符串数组
public static String valueOf(...)静态重载方法
他可以将基本类型数据转换为字符串例:public static String valueOf(double d)
public static String valueOf(int i)
println和printf
printf("格式控制符",变量列表);
println(变量);
println("字符串"+变量+"字符串"+...);
StringBuffer类:
String类的对象一旦创建不可更改,因为String类中没有修改字符串的方法
StringBuffer类的对象的内容可以改变,因为StringBuffer类中有大量修改字符串的方法,如果经常对字符串的内容进行修改就要用StringBuffer
StringBuffer类的构造函数
public StringBuffer()创建一个空的StringBuffer对象
public StringBuffer(int capacity)创建一个指定初始容量的空的字符串缓冲区 public StringBuffer(String str)创建一个与str对象具有相同的字符序列的StringBuffer对象
StringBuffer中的常用方法:
重载方法public StringBuffer append(...)为该StringBuffer对象添加字符序列,返回添加后的对象的引用
public StringBuffer append(String str)
public StringBuffer append(StringBuffer sbuf)
public StringBuffer append(char[] str)
public StringBuffer append(char[] str, int offset, int len) 向StringBuffer对象添加str中从offset开始长度为len的字符序列,返回添加后的对象的引用
public StringBuffer append(double d)
public StringBuffer append(Object obj)
重载方法public StringBuffer insert(...)为该|StringBuffer对象在指定位置插入字符序列,返回修改后的对象的引用
public StringBuffer insert(int offfset, String str)在StringBuffer对象从offset开始插入str,返回修改后的对象的引
用 public StringBuffer insert(int offset, double d)
public StringBuffer delete(int start, int end)删除从start开始到end-1为止的字符序列,返回修改后的对象的引用
public StringBuffer reverse()将字符串逆序,返回修改后的对象的引用
- 黑马程序员 — Object类的toString方法
- 黑马程序员----Object类的eguals()和toString()方法
- 黑马程序员:Object类和equals、toString方法介绍
- 黑马程序员---Object 中toString()与equal()方法
- Object类的toString方法
- Object类的toString方法
- Object类的toString方法
- 黑马程序员 toString()方法
- Object的toString()方法
- Object的toString()方法
- Object 的 toString() 方法
- Object类--toString方法
- Object类-toString方法
- Object类----toString方法
- [Java]Object类的toString()方法
- 有关java object类的toString方法
- Object类的toString()和equals()方法
- Object类——toString()方法
- DDMS的使用
- Android 经典系统 HTC One 802d国行电信专版/最新Viper2.6.0/永久root/强大的功能、高级设置/纯净省电ROM
- 利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统
- java获取IP地址:
- ORACLE 导入导出表
- 黑马程序员 — Object类的toString方法
- android基础知识12:android自动化测试05—monkeyRunner
- HandlerSocket+Mysql测试环境搭建过程
- VS2012编译PCL1.70的过程
- Struts2 自定义类型转换器的简单示例
- Linux添加用户和用户组
- asp.net导出excel
- 数据库备份导入
- SequoiaDB(巨杉数据库)(社区版)安装配置使用图解