日期:2014-05-17  浏览次数:20663 次

JAVA基础问题,很好回答的问题,人人都能拿分
public String toString()
  {
  String line = System.getProperty("line.separator");
   
  StringBuffer buffer = new StringBuffer();
 1 buffer.append(line).append("(").append(line);
  buffer.append("inaccessInfo=").append(this.getInaccessInfo()).append(line);
  buffer.append("productID=").append(this.getProductID()).append(line);
 2 buffer.append(")").append(line);
   
  return buffer.toString();
  }

代码如上:
这段代码打印功能没问题。但是我用工具检测代码的时候(1,2)的位置报“avoid appending characters as string in stringbuffer.append”的错。因为我是小白啊,不懂什么我愿意,问高手,高手说把(1,2)地方的append("(")改成

append(‘(’)就OK了。我试了下果然行。开始不知道为什么这样改啊。能求解吗?



------解决方案--------------------
不用管他,照工具这样的提示,StringBuffer的append(String)这个方法还不需要提供了呢
------解决方案--------------------
Java code
public class Test{

    public String toString() {
          String line = System.getProperty("line.separator");
           
          StringBuffer buffer = new StringBuffer();
          buffer.append(line).append("(").append(line);
          buffer.append(")").append(line);
           
          return buffer.toString();
  }
  
  public static void main(String []args){
      System.out.println(new Test().toString() );
  }

}

------解决方案--------------------
单引号 追加的是单个字符 
双引号 追加的是字符串
两者不一样。单个字符的建议使用‘’
------解决方案--------------------
Java code
char ch = 'a';
String str = "HelloWorld";