Java文法糖--個数可変の形参
10418 ワード
1.背景
JDK 1.5から、Javaは以下のような数の可変パラメータをサポートします.
2.メリット
実は個数変形可能パラメータの本質は1つの配列ですが、上記の例で1つの配列を採用すると、書くのがもっと面倒になります.
3.注意事項
3.1位置は方法の最後にしかない
個数可変のパラメータ数が不確定なため、パラメータリストの最後にのみ配置できます.配列形式のパラメータは、パラメータリストの任意の位置に配置できます.
3.2個の数の変形可能パラメータは本質的に配列であるため、リロードは計算できません
次の例を見てください.
コンパイルは間違っています.以下、何を説明しますか.
JDK 1.5から、Javaは以下のような数の可変パラメータをサポートします.
public class ParamDemo {
public static void main(String[] args) {
String basketball = " ";
String football = " ";
showSports(basketball, football);
}
/**
*
*/
public static void showSports(String... sports) {
for (String sport : sports) {
System.out.println(sport);
}
}
}
2.メリット
実は個数変形可能パラメータの本質は1つの配列ですが、上記の例で1つの配列を採用すると、書くのがもっと面倒になります.
public class ParamDemo {
public static void main(String[] args) {
String basketball = " ";
String football = " ";
showSports(basketball, football);
showSportsByArray(new String[] { basketball, football });
}
/**
*
*/
public static void showSports(String... sports) {
for (String sport : sports) {
System.out.println(sport);
}
}
/**
* 1
*/
public static void showSportsByArray(String[] sports) {
for (String sport : sports) {
System.out.println(sport);
}
}
}
3.注意事項
3.1位置は方法の最後にしかない
個数可変のパラメータ数が不確定なため、パラメータリストの最後にのみ配置できます.配列形式のパラメータは、パラメータリストの任意の位置に配置できます.
3.2個の数の変形可能パラメータは本質的に配列であるため、リロードは計算できません
次の例を見てください.
public class ParamDemo {
public static void main(String[] args) {
String basketball = " ";
String football = " ";
showSports(basketball, football);
showSportsByArray(new String[] { basketball, football });
}
/**
*
*/
public static void showSports(String... sports) {
for (String sport : sports) {
System.out.println(sport);
}
}
/**
* 1
*/
public static void showSports(String[] sports) {
for (String sport : sports) {
System.out.println(sport);
}
}
}
コンパイルは間違っています.以下、何を説明しますか.
String...
のようなパラメータは実際にはString[]
にコンパイルされて動作するので、重荷ではありません.Duplicate method showSports(String[]) in type ParamDemo ParamDemo.java