如果想分析上面的问题可以先看一下方法:- public static void test(){
- String str1 = "Hello Viva";
- String st[] = str1.split("");
- for(String s:st){
- System.out.println(s);
- }
- }
复制代码 先定义一个字符串,然后用""来将字符串分割,然后就会得到一个数组。现在就可以这样理解,每一个组成字符串的字母之间都会包含一个""字符。要不然就不会用split来分割出来数组。再看看楼上的代码:
- public class StringMethods {
- public static void main(String[] args)
- {
- String s="Hello Java";
- String s1=s.replace("Java", "viva");
- String s2=s.replace("", "e");
- sop(s);
- sop(s1);
- sop(s2);
- }
- public static void sop(Object obj)
- {
- System.out.println(obj);
- }
-
- }
复制代码 刚开始s为Hello java,在执行完 String s1=s.replace("Java", "viva");语句之后,现在s1为Hello viva 。然后再执行“String s2=s.replace("", "e");” 当执行replace("","e")时,刚开始第一段代码说过了,每一个组成字符串的字母之间都会包含一个""字符,所以就会将每个""替换成字母“e”,那么结果为也就是eHeeeleleoe eJeaeveae在每个字母之间添加一个e |