java中的toString如何用

如题所述

toString()方法就是把对象转换成String类型,转换的算法根据类型和实际需要而定。

比如一个Integer对象的toString方法就是把这个对象表示的整数转化成字符串,133就成了"133"。

也有根据实际需要来定toString方法的,比如一个Person类:
class Person {
String firstName;
String familyName;
...
}
你可以写一个toString方法,它可以把Person的对象转换成familyName字符串,或者转换成firstName + familyName的字符串。

=======================

比如Person类
public class Person {
private String name = null;
private int age = 0;
public Person(String name, int age) {
this.name = name;
this.age = age;
}

public String toString() {
return name;
}
}
--------------
public class Test {
public static void main(String[] args) {
Person p = new Person("Jack", 20);
System.out.println(p);// 这时会输出"Jack".
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-09
只要是非空的对象都能toString,以字符形式赋值
第2个回答  2012-04-09
...看到楼上这么多回答
第3个回答  2012-04-09
Java中String中类的常用方法
1) public String(char [] value):将字符数组转成字符串;
char c[]={‘f’,’w’,’s’,’w’,’g’,’a’};
String s=new String(c);
System.out.println(s);

结果为:fwswga
2) public String(cahr [] value,开始位置,新字符串的长度):将指定位置长度的字符数组转成字符串;
char c[]={‘f’,’w’,’s’,’w’,’g’,’a’ }
String s=new String(c,2,2);
System.out.println(c);

结果为:sw
3) public String (byte [ ] value):将字节数组转成字符串;
byte b[]={‘w’,’o’,’r’,’l’,’d’,’!’};
String s=new String(b);
System.out.println(s);

结果为:world!
4) public String (byte [] value, 开始位置,新字符串长度);将指定位置长度的字节数组转成字符串;
byte b[]={‘w’,’o’,’r’,’l’,’d’,’!’};
String s=new String(b,2,3);
System.out.println(s);

结果为:rl

5)public char[] toCharArray();将字符数组转成字符串
String s=”Hello”;
Char c[]=s.toCharArray();
for (int i=0;i<c.length;i++)
{
System.out.print(c[i]+”\t”);
}

结果为: H e l l o
6)public char charAt(int index字符下标):返回字符串中指定位置的字符
String s=”Hello”;
System.out.println(s.charAt(3));

结果为:l
7)public byte() getBytes():将一个字符串转成字节数组,默认输出值为ASCII码值
String s=”Hello”;
byte b[]=s.getBytes();
for (int i=0;i<b.length;i++)
{
System.out.print((char)b[i]+”\t”);
}

结果为:H e l l o
8) public int length():求字符串的长度
String s=”dwfsdfwfsadf”;
System.out.pritnln(s.length());

结果为:12

9)public int indexOf(String str):从头查找指定的字符串的位置,返回值为整型,从0开始,如果没找到,则返回-1
String s=”sdfwefsdgwe”;
System.out.println(s.indexOf(“e”));

结果为:4
10)public int indexOf(String str,指定位置); 从指定位置开始查找指定的字符串
String s=”dfwfgasdfwf”;
System.out.println(s.indexOf(“a”,8));

结果为:-1
11)public String trim():清除字符串左右两端的空格
String s=” sdfsdfs ”;
System.out.println(s.trim);

结果为:sdfsdfs
12) public String substring(int beginindex):从指定位置到结尾截取字符串
String s=”fjeiflsjfowjflsdfjo”;
System.out.println(s.substring(5));

结果为:lsjfowjflsdfjo
13)public String substring(int begin,int end);指定截取字符串的开始和结束位置,不包含结束字符
String s=”foweflsdfjowefjls”;
System.out.println(s.substring(4,9));

结果为:flsdf
14)public String [] split(String str);按指定的字符分割字符串
String s=”fwefsdfefgefaselieffs”;
String ss[]=s.split(“e”);
for (int i=0;i<ss.length;i++)
{
System.out.print(ss[i]+”\t”);
}
System.out.println();

结果为:fw fsdf fg fas li ffs
15) public String toUpperCase():将字符串全部转换成大写
System.out.println(new String(“hello”).toUpperCase());

结果为:HELLO
16)public String toLowerCase();将字符全部转成小写
System.out.println(new String(“HELLO”).toLowerCase());

结果为:hello
17) public boolean startsWith(String str);判断字符串是否由指定的字符串开头
String s=”fwofsdfjwkfs”;
System.out.println(s.startsWith(“fw”));
System.out.println(s.startsWith(“wf”));
结果为:true
false
18) public boolean endsWith(String str):判断字符串是否由指定的字符串结尾
String s=”fwefsdgjgrg”;
System.out.println(s.endsWith(“fe”));
System.out.println(s.endsWith(“rg”));
结果为:false
True
19 public boolean equals(String str):判断两个字符串是否相等,区分大小写
String s1=”hello”;
String s2=new String(“hello”);
String s3=”Hello”;
System.out.println(“s1==s2---”+(s1.equals(s2)));
System.out.println(“s1==s3---”+(s1.equals(s3)));
结果为:true
False
20)public boolean equalsIgnoreCase(String str):不区分大小写判断俩个字符串是否相等
String s1=”hello”;
String s2=”HEllo”;
System.out.println(“s1==s2--”+(s1.equalsIgnoreCase(s2)));
结果为:true
21) public String replaceAll(String str1,String str2);将字符串中str1替换成str2
String s=”geowfjsklgoasdf”;
System.out.println(s.replaceAll(“f”,”s”));
结果为:geowsjsklgoasds
Java中String类的方法及说明
一、构造函数
String(byte[ ] bytes):通过byte数组构造字符串对象。
String(char[ ] value):通过char数组构造字符串对象。
String(Sting original):构造一个original的副本。即:拷贝一个original。
String(StringBuffer buffer):通过StringBuffer数组构造字符串对象。
例如:
byte[] b = {'a','b','c','d','e','f','g','h','i','j'};
char[] c = {'0','1','2','3','4','5','6','7','8','9'};
String sb = new String(b); //abcdefghij
String sb_sub = new String(b,3,2); //de
String sc = new String(c); //0123456789
String sc_sub = new String(c,3,2); //34
String sb_copy = new String(sb); //abcdefghij
System.out.println("sb:"+sb);
System.out.println("sb_sub:"+sb_sub);
System.out.println("sc:"+sc);
System.out.println("sc_sub:"+sc_sub);
System.out.println("sb_copy:"+sb_copy);
输出结果:sb:abcdefghij
sb_sub:de
sc:0123456789
sc_sub:4
sb_copy:abcdefghij
二、方法:
说明:①、所有方法均为public。
②、书写格式: [修饰符] <返回类型><方法名([参数列表])>
例如:static int parseInt(String s)
表示此方法(parseInt)为类方法(static),返回类型为(int),方法所需要为String类型。
1. char charAt(int index) :取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。
例如:String s = new String("abcdefghijklmnopqrstuvwxyz");
System.out.println("s.charAt(5): " + s.charAt(5) );
结果为: s.charAt(5): f
2. int compareTo(String anotherString) :当前String对象与anotherString比较。相等关系返回0;不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。
3. int compareTo(Object o) :如果o是String对象,和2的功能一样;否则抛出ClassCastException异常。
例如:String s1 = new String("abcdefghijklmn");
String s2 = new String("abcdefghij");
String s3 = new String("abcdefghijalmn");
System.out.println("s1.compareTo(s2): " + s1.compareTo(s2) ); //返回长度差
System.out.println("s1.compareTo(s3): " + s1.compareTo(s3) ); //返回'k'-'a'的差
结果为:s1.compareTo(s2): 4
s1.compareTo(s3): 10
4. String concat(String str) :将该String对象与str连接在一起。
5. boolean contentEquals(StringBuffer sb) :将该String对象与StringBuffer对象sb进行比较。
6. static String copyValueOf(char[] data) :
7. static String copyValueOf(char[] data, int offset, int count) :这两个方法将char数组转换成String,与其中一个构造函数类似。
8. boolean endsWith(String suffix) :该String对象是否以suffix结尾。
例如:String s1 = new String("abcdefghij");
String s2 = new String("ghij");
System.out.println("s1.endsWith(s2): " + s1.endsWith(s2) );
结果为:s1.endsWith(s2): true
9. boolean equals(Object anObject) :当anObject不为空并且与当前String对象一样,返回true;否则,返回false。
10. byte[] getBytes() :将该String对象转换成byte数组。
11. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) :该方法将字符串拷贝到字符数组中。其中,srcBegin为拷贝的起始位置、srcEnd为拷贝的结束位置、字符串数值dst为目标字符数组、dstBegin为目标字符数组的拷贝起始位置。
例如:char[] s1 = {'I',' ','l','o','v','e',' ','h','e','r','!'};//s1=I love her!
String s2 = new String("you!"); s2.getChars(0,3,s1,7); //s1=I love you!
System.out.println( s1 );
结果为:I love you!
12. int hashCode() :返回当前字符的哈希表码。
13. int indexOf(int ch) :只找第一个匹配字符位置。
14. int indexOf(int ch, int fromIndex) :从fromIndex开始找第一个匹配字符位置。
15. int indexOf(String str) :只找第一个匹配字符串位置。
16. int indexOf(String str, int fromIndex) :从fromIndex开始找第一个匹配字符串位置。
例如:String s = new String("write once, run anywhere!");
String ss = new String("run");
System.out.println("s.indexOf('r'): " + s.indexOf('r') );
System.out.println("s.indexOf('r',2): " + s.indexOf('r',2) );
System.out.println("s.indexOf(ss): " + s.indexOf(ss) );
结果为:s.indexOf('r'): 1
s.indexOf('r',2): 12
s.indexOf(ss): 12
17. int lastIndexOf(int ch)
18. int lastIndexOf(int ch, int fromIndex)
19. int lastIndexOf(String str)
20. int lastIndexOf(String str, int fromIndex) 以上四个方法与13、14、15、16类似,不同的是:找最后一个匹配的内容。
public class CompareToDemo {
public static void main (String[] args) {
String s1 = new String("acbdebfg");

System.out.println(s1.lastIndexOf((int)'b',7));
}
}
运行结果:5
(其中fromIndex的参数为 7,是从字符串acbdebfg的最后一个字符g开始往前数的位数。既是从字符c开始匹配,寻找最后一个匹配b的位置。所以结果为 5)

21. int length() :返回当前字符串长度。
22. String replace(char oldChar, char newChar) :将字符号串中第一个oldChar替换成newChar。
23. boolean startsWith(String prefix) :该String对象是否以prefix开始。
24. boolean startsWith(String prefix, int toffset) :该String对象从toffset位置算起,是否以prefix开始。
例如:String s = new String("write once, run anywhere!");
String ss = new String("write");
String sss = new String("once");
System.out.println("s.startsWith(ss): " + s.startsWith(ss) );
System.out.println("s.startsWith(sss,6): " + s.startsWith(sss,6) );
结果为:s.startsWith(ss): true
s.startsWith(sss,6): true
25. String substring(int beginIndex) :取从beginIndex位置开始到结束的子字符串。
26.String substring(int beginIndex, int endIndex) :取从beginIndex位置开始到endIndex位置的子字符串。
27. char[ ] toCharArray() :将该String对象转换成char数组。
28. String toLowerCase() :将字符串转换成小写。
29. String toUpperCase() :将字符串转换成大写。
例如:String s = new String("java.lang.Class String");
System.out.println("s.toUpperCase(): " + s.toUpperCase() );
System.out.println("s.toLowerCase(): " + s.toLowerCase() );
结果为:s.toUpperCase(): JAVA.LANG.CLASS STRING
s.toLowerCase(): java.lang.class string
30. static String valueOf(boolean b)
31. static String valueOf(char c)
32. static String valueOf(char[] data)
33. static String valueOf(char[] data, int offset, int count)
34. static String valueOf(double d)
35. static String valueOf(float f)
36. static String valueOf(int i)
37. static String valueOf(long l)
38. static String valueOf(Object obj)
以上方法用于将各种不同类型转换成Java字符型。这些都是类方法。
三、 Java中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 newChar)
在字符串中用newChar字符替换oldChar字符
public boolean startsWith(String prefix)
判断字符串是否以prefix字符串开头;
public boolean endsWith(String suffix)
判断一个字符串是否以suffix字符串结尾;
public String toUpperCase()
返回一个字符串为该字符串的大写形式;
public String toLowerCase()
返回一个字符串为该字符串的小写形式
public String substring(int beginIndex)
返回该字符串从beginIndex开始到结尾的子字符串;
public String substring(int beginIndex,int endIndex)
返回该字符串从beginIndex开始到endsIndex结尾的子字符串
public String trim()
返回该字符串去掉开头和结尾空格后的字符串
public String[] split(String regex)
将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组
实例:
public class SplitDemo{
public static void main (String[] args) {

String date = "2008/09/10";
String[ ] dateAfterSplit= new String[3];
dateAfterSplit=date.split("/"); //以“/”作为分隔符来分割date字符串,并把结果放入3个字符串中。

for(int i=0;i<dateAfterSplit.length;i++)
System.out.print(dateAfterSplit[i]+" ");
}
}

运行结果:2008 09 10 //结果为分割后的3个字符串
实例:
TestString1.java:
程序代码
public class TestString1
{
public static void main(String args[]) {
String s1 = "Hello World" ;
String s2 = "hello world" ;
System.out.println(s1.charAt(1)) ;
System.out.println(s2.length()) ;
System.out.println(s1.indexOf("World")) ;
System.out.println(s2.indexOf("World")) ;
System.out.println(s1.equals(s2)) ;
System.out.println(s1.equalsIgnoreCase(s2)) ;
String s = "我是J2EE程序员" ;
String sr = s.replace('我','你') ;
System.out.println(sr) ;
}
}
TestString2.java:
程序代码
public class TestString2
{
public static void main(String args[]) {
String s = "Welcome to Java World!" ;
String s2 = " magci " ;
System.out.println(s.startsWith("Welcome")) ;
System.out.println(s.endsWith("World")) ;
String sL = s.toLowerCase() ;
String sU = s.toUpperCase() ;
System.out.println(sL) ;
System.out.println(sU) ;
String subS = s.substring(11) ;
System.out.println(subS) ;
String s1NoSp = s2.trim() ;
System.out.println(s1NoSp) ;
}

java 中的tostring方法怎么用
toString方法将对象转换为字符串。看以下代码:结果:sample.Orc@11b86e7 sample.Orc@11b86e7 如果去掉注释,即加入2个toString方法后,得到 结果:Orc12:I'm a Villain and my name is Limburger Orc19:I'm a Villain and my name is Bob 2.在容器类中使用toString 编写一个工具类,用于在控制...

JAVA中tostring方法的作用
toString方法的返回值就是该对象的字符串表示形式。具体来说,当一个对象不是String类型,且在打印或者类似操作中使用时,系统会自动调用toString方法。比如在`system.out.println(obj)`这样的语句中,如果`obj`不是String,系统会调用`obj.toString()`来获取可打印的字符串。Object类的toString方法会生成...

java中的toString什么意思?toString有什么用?
public String toString() { return "[name=" + name + ", age=" + age + ", gender=" + gender + "]";} } 调用方法:Persion p = new Persion();System.out.println(p); \/\/ 隐式调用toString(0)方法 System.out.println(p.toString()); \/\/ 显式调用toString(0)方法 ...

java toString()的覆盖
要获取Java对象的属性值,通常我们使用toString()方法,但其实可以通过结合枚举内容进行覆盖。本文将详细介绍toString()概念和用法,进一步探索如何在枚举中覆盖该方法,最后通过实例展示实现过程。toString()概念源自object类,该方法返回一个描述当前对象的字符串。使用System.out.println()打印对象时,会调用to...

tostring()方法的作用
toString方法的作用是将对象转换为字符串。详细解释如下:1. 基本功能:`toString`是一个常见的方法,存在于许多编程语言中,包括Java、JavaScript等。其主要功能是将一个对象或者变量转换为字符串形式。当我们需要将某个对象的内容以字符串的形式展示或输出时,就可以调用该对象的`toString`方法。2. 在...

java中toString()方法怎么用
toString 是源自java Object类,在Object 内 定义为:返回 一个 类名@hashcode的字符串,可以overridden 用来返回 你认为有用的信息,toStrng 没有arguments override:public String toString(){\/\/ insert you codereturn "informations"}因为在java中 Object类是基类,所以每个类都会有toString方法。System.out.println(...

JAVA的tostring()方法的作用是什么呢?
Java的toString()方法是一个核心概念,它在Object类中定义,所有类都继承了这一方法。其主要作用是将对象转换为字符串形式,便于调试和输出。默认情况下,toString()返回的是对象的内存地址和哈希码,例如:***.orc@11b86e7或***.orc@11b8要6e7。但这种默认输出通常不够直观,因此开发者需要根据需求...

Java 的Arrays.toString()方法的使用+底层分析
此时,Java的Arrays类中的toString()方法提供了便捷的解决方案,无需借助for循环。通常,若直接打印数组,得到的往往是内存地址而非数组元素。而toString()方法则能将数组转化为字符串形式输出,适用范围广泛,包括long、float、double、int、boolean等多种基本数据类型和byte、object等数组。若我们使用toString...

java中怎么用toString方法去除字符串中的标点,符号和数字?
纠正下,toString方法是用来转换为字符串的,不能用于字符串截取的。可以通过判断是不是字母,如果是字母的话,就保留下来,区域的直接忽略掉即可。public static String getString(String src) {\/\/输入参数为相应的字符串 char[] cr= src.toCharArray();char[] str= new char[cr.length];int index...

JAVA toString()
toString()方法就是把对象转换成String类型,转换的算法根据类型和实际需要而定。比如一个Integer对象的toString方法就是把这个对象表示的整数转化成字符串,133就成了"133"。也有根据实际需要来定toString方法的,比如一个Person类:class Person { String firstName;String familyName;...} 你可以写一个...

相似回答