6

String[]を取得し、そのコピーを作成するにはどうすればよいString[]ですか?ただし、最初の文字列はありません。例:これがあれば…

String[] colors = {"Red", "Orange", "Yellow"};

文字列コレクションの色に似ているが、赤が含まれていない新しい文字列を作成するにはどうすればよいですか?

4

3 に答える 3

14

使用できますArrays.copyOfRange

String[] newArray = Arrays.copyOfRange(colors, 1, colors.length);
于 2012-06-03T05:21:44.723 に答える
8

配列のことは忘れてください。それらは初心者向けの概念ではありません。代わりに、Collections API の学習に時間を費やしたほうがよいでしょう。

/* Populate your collection. */
Set<String> colors = new LinkedHashSet<>();
colors.add("Red");
colors.add("Orange");
colors.add("Yellow");
...
/* Later, create a copy and modify it. */
Set<String> noRed = new TreeSet<>(colors);
noRed.remove("Red");
/* Alternatively, remove the first element that was inserted. */
List<String> shorter = new ArrayList<>(colors);
shorter.remove(0);

配列ベースのレガシー API と相互運用するために、次の便利な方法がありますCollections

List<String> colors = new ArrayList<>();
String[] tmp = colorList.split(", ");
Collections.addAll(colors, tmp);
于 2012-06-03T05:32:44.290 に答える
5
String[] colors = {"Red", "Orange", "Yellow"};
String[] copy = new String[colors.length - 1];
System.arraycopy(colors, 1, copy, 0, colors.length - 1);
于 2012-06-03T05:22:49.480 に答える