黑马程序员技术交流社区
标题:
关于toString 方法的用法
[打印本页]
作者:
lemon_tree
时间:
2014-8-1 23:15
标题:
关于toString 方法的用法
哪那些类里面用到toString方法,那些类的对象能够默认调用toString方法啊。
作者:
阿磊
时间:
2014-8-1 23:24
字符串,还有集合都有用到,数组。toString不管在哪个类里面都是可以自己定义的,之前也一直很模糊为什么看视频的时候老师写了toString方法,下面直接调用toString就打印了name age 或者Ip都打印出来了,后面才知道,toString就相当于你自己定义在类里面的方法,只是你调用了方法,你方法里面定义的是什么,返回的是什么,那么打印出来的就是你定义出来的东西了。不用再拿到变量的方法来调用get得到,直接方法toString里面就可以打印出结果,方便一点吧。
还有一个目的就是为了更直观的打印出你想要给用户看的东西,有些类自己有toString方法,但是不是和你想输出的类容一样,所以这个时候可以复写toString定义自己想让用户看到的东西。
作者:
玥夜
时间:
2014-8-1 23:34
本帖最后由 玥夜 于 2014-8-1 23:35 编辑
Java所有的对象都可以使用toString()方法,因为它是定义在Object类中的方法,
输出语句System.out.println()中所有得输出对象都是调用此方法,
但是有的类中把Object的toString()方法给覆盖了 ,所以看到的输出结果会不一样
我这有个代码希望对你有帮助
import java.util.Arrays;
public class 字符转字符串 {
public static void main(String[] args)
{
byte[] b=new byte[]{'b','y','t','e'};
char[] ch=new char[]{'c','h','a','r'};
int[] i= new int[]{'i','n','t'};
String str1= new String("String");
String[] strr= new String[]{"s","t","r","i","n","g"};
System.out.println("直接输出");
System.out.println(b);
System.out.println(ch);
System.out.println(i);
System.out.println(str1);
System.out.println(strr);
System.out.println();
System.out.println("通过+"+"\"\"变成字符串输出");
System.out.println("byte[]===="+b);
System.out.println("char[]===="+ch);
System.out.println("int[]====="+i);
System.out.println("String[]====="+strr);
System.out.println("str1===="+str1);
System.out.println();
System.out.println();
System.out.println("Object中toString()方法变成字符串输出");
System.out.println("byte[].toString()===="+b.toString());
System.out.println("char[].toString()===="+ch.toString());
System.out.println("int[].toString()====="+i.toString());
System.out.println("String[].toString()====="+strr.toString());
System.out.println("String.toString()====="+str1.toString());
System.out.println();
System.out.println();
System.out.println("Array.toString(arr)方法变成字符串输出");
System.out.println("Arrays.toString(byte[])===="+Arrays.toString(b));
System.out.println("Arrays.toString(char[])===="+Arrays.toString(ch));
System.out.println("Arrays.toString(int[])===="+Arrays.toString(i));
System.out.println("Arrays.toString(String[])===="+Arrays.toString(strr));
System.out.println();
System.out.println();
System.out.println("String.valueOf(arr)方法变成字符串输出");
System.out.println("String.valueOf(byte[])===="+String.valueOf(b));
System.out.println("String.valueOf(char[])===="+String.valueOf(ch));
System.out.println("String.valueOf(int[])===="+String.valueOf(i));
System.out.println("String.valueOf(int)====="+String.valueOf(6));
//valueOf(Object obj) 返回 Object 参数的字符串表示形式。除了char类型和基本类型
System.out.println();
System.out.println(new String(b));
}
}
复制代码
作者:
DSY
时间:
2014-8-1 23:43
2楼自己的话总结的挺好
作者:
alvinbx
时间:
2014-8-2 00:10
所有类都有toString的方法,不信你随便写个类点一下就知道了。它属于object,所以支持被覆写。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2