浅析JAVA中toString方法的作用
因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”。
它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法
总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法
回答补充:
例子1:
publicclassOrc
{
publicstaticclassA
{
publicStringtoString()
{
return"thisisA";
}
}
publicstaticvoidmain(String[]args)
{
Aobj=newA();
System.out.println(obj);
}
}
如果某个方法里面有如下句子:
Aobj=newA();
System.out.println(obj);
会得到输出:thisisA
例子2:
publicclassOrc
{
publicstaticclassA
{
publicStringgetString()
{
return"thisisA";
}
}
publicstaticvoidmain(String[]args)
{
Aobj=newA();
System.out.println(obj);
System.out.println(obj.getString());
}
}
会得到输出:xxxx@xxxxxxx的类名加地址形式
System.out.println(obj.getString());
会得到输出:thisisA
看出区别了吗,toString的好处是在碰到“println”之类的输出方法时会自动调用,不用显式打出来。
publicclassZhang
{
publicstaticvoidmain(String[]args)
{
StringBufferMyStrBuff1=newStringBuffer();
MyStrBuff1.append("Hello,Guys!");
System.out.println(MyStrBuff1.toString());
MyStrBuff1.insert(6,30);
System.out.println(MyStrBuff1.toString());
}
}
值得注意的是,若希望将StringBuffer在屏幕上显示出来,则必须首先调用toString方法把它变成字符串常量,因为PrintStream的方法println()不接受StringBuffer类型的参数.
publicclassZhang
{
publicstaticvoidmain(String[]args)
{
StringMyStr=newStringBuffer();
MyStr=newStringBuffer().append(MyStr).append("Guys!").toString();
System.out.println(MyStr);
}
}
toString()方法在此的作用是将StringBuffer类型转换为String类型.
publicclassZhang
{
publicstaticvoidmain(String[]args)
{
StringMyStr=newStringBuffer().append("hello").toString();
MyStr=newStringBuffer().append(MyStr).append("Guys!").toString();
System.out.println(MyStr);
}
}
Stringname=newString("HuangWeiFeng");
系统将进行如下的操作:
相关文章
- java除法保留两位小数_JAVA除法保留小数点后两位的两种方法
- Java数组及二维数组初始化与赋值方法总结
- 005 Java面向对象知识点 抽象 封装 继承 多态 命名方式 JavaDoc文档 方法的调用 包的作用「建议收藏」
- java怎么运行_怎样启动JAVA?「建议收藏」
- java启动器_JAVA基础:Java 启动器如何查找类
- java代码大全及详解_Java练级攻略[通俗易懂]
- java scanner输入数组_java基础- scanner/方法/数组
- java 阶乘算法_Java 实现阶乘算法
- java常量池在方法区还是堆_JAVA常量池
- actioncontext的作用_object.java类中的方法
- java iso8601 PT1M,iso8601
- Java截取字符串方法_java通过split截取字符串
- java方法的重载(Overload)与重写(Override)详解编程语言
- Java日期时间处理常用方法详解编程语言
- 解决Java程序连接MySQL数据库的方法(java链接mysql数据库)
- 中的应用Java中MySQL的灵活运用(mysql在java代码)
- 时间解决Redis Java设置过期时间的方法(redisjava过期)
- 策略解决Redis Java中过期策略的方法(redisjava过期)
- Java中使用Redis包实现高效缓存(redis包java)
- 程序Oracle调用Java程序的实现方法(oracle调用java)
- Linux 服务器快速部署Java开发环境(linux配置java)
- Java革命Oracle旗下的程序设计利器(java简介oracle)
- 浅析Java方法传值和传引用问题