result.add(str);是一次性加的,string又是字符串,但foreach循环要数组或集合,这个字符串集合里只有一个元素吗?一个元素的对象foreach也能执行吗?只要对象是集合或者元素,如果对象是空的也能执行吗?
你调用了System.out.println(result)其实就相当于System.out.println(result.toString());,下面我具体举一个例子给你看,不懂再私信我哦!希望采纳!!!
只要是集合或者数组 里面有元素就会执行 ,即便里面是对象 ,对象值是null也会执行 主要是被执行的数组或者集合有长度 才会进入循环
foreach在执行对象为空时不执行,如果里面至少有一个元素,函数就会执行。
把foreach循环去掉后,直接打印result则是带有逗号的,回溯算法里每次添加是str+的方式,为什么会有逗号?
你可看一下,实际上result.add执行了很多次的