摘要:
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。在StringBuffer类中存在很多和String类一样的方法,这些方法在功能上和String类中的功能是完全一样的。但是有一个最显著的区别在于,对于StringBuffer对象的每次修改都会改变对象自身,这点是和String类最大的区别。另外由于S. 阅读全文
摘要:
String对象是不可改变的。每次使用System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类。例如,当在一个循环中将许多字符串连接在一起时,使用StringBuilder类可以提升性能。通过用一个重载的构造函数方法初始化变量,可以创建StringBuilder类的新实例,正如以下示例中所阐释的那样。StringBuilderMyStringBuilde 阅读全文
摘要:
1.toString()方法Object类具有一个toString()方法,你创建的每个类都会继承该方法。它返回对象的一个String表示,并且对于调试非常有帮助。然而对于默认的toString()方法往往不能满足需求,需要覆盖这个方法。toString()方法将对象转换为字符串。看以下代码:package sample;class Villain {private String name;protected void set(String nm) {name = nm;}public Villain(String name) {this.name = name;}public String 阅读全文
摘要:
用System.out.println()输出一个对象的时候,java默认调用对象的toString()方法一般你要覆盖这个方法,这样根据覆盖逻辑你就可以输出自己的对象比如你定义一个类User,有id,name属性,你直接输出一个user对象的话System.out.println(user),得到的只是全限定名@地址首地址如果你在User类里面覆盖这个toString方法的话就能输出你要的比如public String toString(){ return "user name is:"+this.name+";"+"user id is:& 阅读全文