import java.util.ArrayList; 
public class ArrayListJoinTest {
public static void main(String[] args) {
ArrayList<String> list1 = new ArrayList<String>();
list1.add("Zhang");
list1.add("Xiaoming");
String msg1 = "Your first Name is %s, last Name is %s ."; ArrayList<String> list2 = new ArrayList<String>();
list2.add("a");
list2.add("b");
list2.add("c");
list2.add("d");
String msg2 = "%s %s %s %s ,which do you like?"; String join1 = String.format(msg1, list1);
String join2 = String.format(msg2, list2); // join1 = "Your first Name is Zhang, last Name is Xiaoming .";
// join2 = "a b c d ,which do you like?"
}
}
-------------------------------------------
条件:
(1)list1,list2里面 %s的数量不定,但list里的元素数与%s的数量相同。 
(2)不能更改list 的 ArrayList<String> 类型
问题:
 想通过一样的操作,完成字符串的联接,实现下面的效果。
// join1 = "Your first Name is Zhang, last Name is Xiaoming .";
// join2 = "a b c d ,which do you like?"

解决方案 »

  1.   

    String join1 = String.format(msg1, list1.toArray());
    String join2 = String.format(msg2, list2.toArray());
      

  2.   

    联接不成下面的样子哟!
    // join1 = "Your first Name is Zhang, last Name is Xiaoming ."; 
    // join2 = "a b c d ,which do you like?" 
      

  3.   

    用#1的代码测试了下,结果如下:
    Your first Name is Zhang, last Name is Xiaoming .
    a b c d ,which do you like?
    不就是你要的效果吗
      

  4.   

    Sorry,我看错了。
    list1.toArray -> list1.toStringTHANK YOU!