logo

Javaのデフォルトパラメータ

Java、デフォルトパラメータ は、開発者がメソッド パラメータのデフォルト値を定義できる強力な機能です。これは、メソッドに多数のパラメーターがあり、一部のパラメーターが必ずしも必要ではない場合に便利です。

デフォルトパラメータ これらは Java 8 で導入され、Java 言語仕様の一部です。これらは、メソッド呼び出し中にパラメータが明示的に渡されない場合に、開発者がパラメータのデフォルト値を定義できるようにすることで機能します。

デフォルトのパラメータを定義するには、メソッド シグネチャで宣言されているパラメータに値を割り当てるだけです。たとえば、次の方法を考えてみましょう。

 public void doSomething(String name, int age, String city) { // code to perform some action } 

city パラメータをオプションにしたい場合は、次のようにデフォルト値を定義できます。

 public void doSomething(String name, int age, String city = 'New York') { // code to perform some action } 

今後は、市パラメータを指定せずにメソッドが呼び出された場合、デフォルト値の「ニューヨーク」が代わりに使用されます。

デフォルトパラメータの利点

  • デフォルト パラメーターは、メソッド シグネチャを制御できない API またはライブラリを扱う場合に特に役立ちます。 API のユーザーにすべてのパラメーターの値の提供を要求する代わりに、適切なデフォルトを定義し、必要に応じてユーザーがそれらをオーバーライドできるようにすることができます。
  • デフォルトのパラメーターは、コードをより簡潔で読みやすくすることができます。すべてのメソッド呼び出しでデフォルト値を明示的に指定する必要がなくなることで、定型コードの量が減り、コードが理解しやすくなります。
  • デフォルトのパラメータは、メソッド シグネチャ内のすべての必須パラメータの後に続くパラメータにのみ使用できることに注意してください。これは、Java では、すべての必須パラメーターをオプションのパラメーターの前に指定する必要があるためです。

デフォルト パラメータは、2014 年にリリースされたバージョン 8 で Java に追加されました。Java 8 より前は、Java でメソッド パラメータのデフォルト値を指定する方法はありませんでした。代わりに、開発者はオーバーロードされたメソッドを作成するか、オプションのパラメーターを表すために null 値を使用する必要がありました。デフォルト パラメータの導入により、Java 開発者はメソッド シグネチャを簡素化し、コードを読みやすくするための新しいツールを入手しました。また、長年にわたってデフォルトのパラメーターが存在してきた Python、Ruby、JavaScript などの他のプログラミング言語との一貫性も高まりました。

Java では、開発者がメソッド宣言でパラメータのデフォルト値を指定できるようにすることで、デフォルト パラメータが機能します。メソッドがそのパラメータの引数なしで呼び出された場合は、デフォルト値が使用されます。

Java でのデフォルト パラメーターの使用を示すサンプル プログラムを次に示します。

DefaultParameterExample.java

 import java.util.Scanner; public class DefaultParameterExample { // Define a method with a default parameter public static void printName(String firstName, String lastName, String title) { title = title != null ? title : 'Mr.'; // Default value for title System.out.println('Hello, ' + title + ' ' + firstName + ' ' + lastName + '!'); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Get user input System.out.print('Enter your first name: '); String firstName = scanner.nextLine(); System.out.print('Enter your last name: '); String lastName = scanner.nextLine(); // Call the method with and without the title parameter printName(firstName, lastName, 'Dr.'); // Pass in a value for title printName(firstName, lastName, null); // Don't pass in a value for title // The second call will use the default value of 'Mr.' } } 

出力:

 Enter your first name: John Enter your last name: Doe Hello, Dr. John Doe! Hello, Mr. John Doe! 

この例では、firstName、lastName、title の 3 つのパラメータを取る printName というメソッドを定義します。 title パラメータにはデフォルト値「Mr.」が与えられます。提供されていない場合。

main メソッドでは、firstName 変数と lastName 変数に対するユーザー入力を取得し、printName メソッドを 2 回呼び出します。最初の呼び出しでは「Dr.」の値が渡されます。 title パラメータの場合は、2 番目の呼び出しでは title の値が渡されません。

結論

デフォルト パラメータは Java の強力な機能で、コードをより簡潔、読みやすく、柔軟にするのに役立ちます。これにより、メソッド パラメータの適切なデフォルトを定義できるようになり、コードが使いやすく、理解しやすくなります。まだ使用していない場合は、Java コードでデフォルトのパラメーターを使用して、この便利な機能を活用することを検討してください。