java吧 关注:1,271,337贴子:12,780,624
  • 8回复贴,共1

求助,问一个简单的字符串问题

只看楼主收藏回复

代码如下,为什么要"return temp.substring(0, temp.length() -1 );"而不是temp。还有,string类型不是final 的吗,它还可以变化?
/**
* 将数组转换成字符串,使用","分隔
*/
public static String arr2Str(Object[] value) {
String temp = "" ;
if(ValidateUtil.isValid(value)){
for(Object o : value){
temp = temp + o + ",";
}
return temp.substring(0, temp.length() -1 );
}
return null;
}


1楼2014-06-15 13:13回复
    因为要删除最后一个","啊


    3楼2014-06-15 13:36
    收起回复
      2025-07-27 14:56:39
      广告
      不感兴趣
      开通SVIP免广告
      至于这么写是有原因的。你看看这句话:temp = temp + o + ",";
      意思是每次循环的时候都连接上一个对象o和一个逗号。那么循环到最后一次是什么结果呢?
      就是:……,字符串的最后多了一个逗号。所以return temp.substring(0, temp.length() -1 );
      就是把最后的那个逗号去掉。


      IP属地:广东4楼2014-06-15 13:38
      回复
        谁说 String 是 final 的, 我要打他脸


        IP属地:上海5楼2014-06-15 13:48
        收起回复
          你难道是从1开始算么


          IP属地:上海6楼2014-06-15 13:55
          收起回复