package dmeo.array;public class VariableParameter { /**
 * @param args
 */
public static void main(String[] args) {
System.out.println(change("asf<p>ege<br>","<br>","<p>"));

}

public static String change(String...strings){
String str = strings[0];
for (int i = 1; i < strings.length; i++) {
str.replaceAll(strings[i], "\n");
//System.out.println(strings[i]);
//System.out.println(str);
}
return str;
}}我只是想将字符串里的<br>换成\n,为什么用可变参数这样子传进去不行的呢?java

解决方案 »

  1.   

    要给str赋值,replaceAll并不会对str操作,而是产生新的字符串.str = str.replaceAll(strings[i], "\n"); 
      

  2.   

        public static void main(String[] args) {
            System.out.println(change("asf<p>ege<br>","<br>","<p>"));
         
        }
         
        public static String change(String...strings){
            String str = strings[0];
            for (int i = 1; i < strings.length; i++) {
             str= str.replaceAll(strings[i], "\n");
            }
            return str;
        }
     
    }
      

  3.   


    楼主是希望结果是
    asf(用\n的结果)
    ege
    还是
    asfnegen(用\\n的结果)?
      

  4.   

    不好意思,没说明白,其实就是换行的意思就是把取过来的字符串中的<br>,<br/>之类的东西换成"\n",因为不知道后面还会出现哪些特殊的字符需要换成"\n",所以用了可变参数可是老是替换不了,感觉思路应该是没错的, 就是没换成功,不知道是不是思维定性了