私がこのような方法から始める場合:
package com.sandbox;
import java.util.ArrayList;
import java.util.List;
public class Sandbox {
public static void main(String[] args) {
List<String> strings = new ArrayList<String>();
strings.add("a");
strings.add("b");
for (String string : strings) {
System.out.println(string);
}
}
}
最初の行を強調表示してからadd(...)
メソッドを抽出すると、コードは次のようになります。
package com.sandbox;
import java.util.ArrayList;
import java.util.List;
public class Sandbox {
public static void main(String[] args) {
List<String> strings = new ArrayList<String>();
addA(strings);
strings.add("b");
for (String string : strings) {
System.out.println(string);
}
}
private static void addA(List<String> strings) {
strings.add("a");
}
}
私はこれをほとんど望んでいません。私はむしろそれがこのようなことをしたいです:
package com.sandbox;
import java.util.ArrayList;
import java.util.List;
public class Sandbox {
public static void main(String[] args) {
List<String> strings = new ArrayList<String>();
strings.addAll(addA());
strings.add("b");
for (String string : strings) {
System.out.println(string);
}
}
private static List<String> addA() {
List<String> strings = new ArrayList<String>();
strings.add("a");
return strings;
}
}
または多分このようなもの:
package com.sandbox;
import java.util.ArrayList;
import java.util.List;
public class Sandbox {
public static void main(String[] args) {
List<String> strings = addA();
strings.add("b");
for (String string : strings) {
System.out.println(string);
}
}
private static List<String> addA() {
List<String> strings = new ArrayList<String>();
strings.add("a");
return strings;
}
}
この方法でintellij抽出メソッドを作成する方法はありますか?