検索

Javaの可変引数

Aug 30, 2024 pm 03:51 PM
java

Java varargs は、可変数の引数を受け取るために実際に必要なメソッドを作成する概念を簡素化する Java プログラミング言語の概念です。この機能/概念は varargs と呼ばれ、varargs は可変長引数の短縮名です。ここで、可変数の引数を取るメソッドは、varargs メソッドです。 JDK 5 より前のバージョンでは、varargs (可変長引数) を使用して 2 つの方法で処理できます。 1 つはオーバーロードされたメソッドを使用する方法で、2 つ目は引数を配列に入れることで、メソッドへの配列の受け渡しが完了します。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文

public static void fun(int …a1)
{
//method body1
}

説明: ここでは、パラメータ「int …a1」を使用して fun() 関数が作成されます。次に、実行時に使用するメソッド本体が入力されます。特定のメソッドでは変数 arg-arguments を 1 つだけ使用する必要があります。 vararg – 可変長引数は最後の引数である必要があります。そうでない場合は、コンパイルが発生する可能性があります。

Java では可変引数はどのように機能しますか?

Java プログラミング言語の varargs (可変長引数) は、実際に可変数の引数を取るメソッドの作成を簡素化するのに役立ちます。可変数の引数を受け取る Java メソッドは、varargs メソッドと呼ばれます。 JDK5バージョンにあります。 JDK 5 バージョンより前のバージョンでは、可変長の args-arguments は 2 つの方法で処理されます。最初の方法はオーバーロードされたメソッドを利用するもので、もう 1 つの方法は引数と引数を特定の配列に入れ、この配列が特定のメソッドに渡される方法です。ほとんどの場合、どちらも潜在的にエラーが発生しやすく、より多くのコードが必要になります。可変引数の概念は、実際に複数の引数を受け入れるか、まったく引数を受け入れないメソッドを許可することで機能します。

「…」構文は、これらの args-arguments で可変長引数が使用され、a1 によって参照される特定の配列に格納される必要があることをコンパイラーに指示することで機能します。

可変引数変数引数/可変長引数メソッドはオーバーロードする可能性がありますが、オーバーロードにより特定のあいまいさが生じます。以前の JDK 5 バージョンから、varargs (可変長引数) は 2 種類の方法で処理できるようになりました。 1 つ目の方法はオーバーロードによるもので、2 つ目は配列 arg-argument を使用する方法です。メソッド内の変数引数は 1 種類のみです。 varargs(変数引数) は最後の引数であるか、最後の引数である必要があります。

Erronous vararg もあります。 1 つは、1 つのメソッドのみで 2 つの可変引数を指定する方法です。 2 つ目は、メソッドの最後のパラメータではなく最初のパラメータを指定する方法です。

メソッドは、変数の長さパラメータと他のいくつかの異なるパラメータを持つこともできますが、可変引数パラメータが 1 つだけ存在することを確認する必要があり、それはメソッド宣言の最後のセクションのパラメータに記述する必要があります。

Java 可変引数の実装例

以下にいくつかの例を示します:

例 #1

これは、Java プログラミング言語を使用した varargs の実装です。まずクラス「Test11」を作成し、次に可変引数構文で fun1() を作成します。次に、system.out.the print() 関数が長さ計算構文「a1.length」で使用されます。これは配列計算の要素数にほかなりません。次に、特定の配列のすべての要素を把握するために FOR-EACH ループが作成されます。次に、system.out.the print() 関数は、各配列の要素を出力するためにのみ使用されます。次に、system.out.println() はコマンド プロンプトの出力の改行にのみ使用されます。次に、特定の関数「fun1()」内の配列要素を言及するために「Public static void main(String args[])」が作成されます。長さが異なる 3 つの異なるタイプの配列要素。以下の出力セクションで出力を確認してください。

コード:

class Test11
{
static void fun1(int ...a1)
{
System.out.println("The Number of the arguments metioned: " + a1.length);
for (int i1: a1)
System.out.print(i1 + " ");
System.out.println();
}
public static void main(String args[])
{
fun1(1000);
fun1(11, 12, 13, 14);
fun1();
}
}

出力:

Javaの可変引数

例 #2

これは、通常の引数だけを使用して可変引数概念を実装した Java プログラムの例です。ここではまず、2 種類の異なる引数/パラメータを持つ新しい関数「, fun21」を使用してクラス「Test21」を作成します。 fun21() 関数内で、system.out.print() が 2 回作成されます。最初の作成では str2 値を出力し、次に 2 番目の作成では配列の長さを出力します。次に、for-each ループが作成され、異なる型と異なる数の要素を持つ配列の要素が抽出されます。 FOR ループを使用すると、数値の引数/値のみが出力され、文字列要素は別の方法で出力されます。

コード:

class Test21
{
static void fun21(String str2, int ...a2)
{
System.out.println("String: " + str2);
System.out.println("Number of arguments is: "+ a2.length);
for (int i2: a2)
System.out.print(i2 + " ");
System.out.println();
}
public static void main(String args[])
{
fun21("PavanKumarSakeCEOofProfitLoops", 1000, 2000);
fun21("ProfitLoops", 21, 22, 23, 24, 25);
fun21("fortheWorld");
}
}

Output:

Javaの可変引数

Example #3

This is an example of implementing a varargs program in Java code. Here at first, Test 21 class is created, then the display () static function is created. Then inside of it, system.out.println() is used to print the string element. Then the for-each concept is used to print all the elements of the array. Then the parenthesis closing is done for the function display(). Then “public static void main(String_args[])” is used for entering the code, which actually returns the output. Then the display() is used with different types of array elements with different lengths.

Code:

class Test21{
static void display(String... values1){
System.out.println("Here Now the display method is invoked ");
for(String s1:values1){
System.out.println(s1);
}
}
public static void main(String args[]){
display();
display("Howdyhello");
display("my","name","is","varargs-pavan");
display("Pavan Kumar Sake is the future billionaire. Soon You will see.. :-)");
}
}

Output:

Javaの可変引数

Conclusion

I hope you learned the actual definition of Java varargs (Variable Length Arguments) along with their syntax and explanation, How the varargs works in the Java Programming Language, and the various examples of implementing the varargs concept to understand better.

以上がJavaの可変引数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
プラットフォームの独立性は、エンタープライズレベルのJavaアプリケーションにどのように利益をもたらしますか?プラットフォームの独立性は、エンタープライズレベルのJavaアプリケーションにどのように利益をもたらしますか?May 03, 2025 am 12:23 AM

Javaは、プラットフォームの独立性により、エンタープライズレベルのアプリケーションで広く使用されています。 1)プラットフォームの独立性は、Java Virtual Machine(JVM)を介して実装されているため、Javaをサポートする任意のプラットフォームでコードを実行できます。 2)クロスプラットフォームの展開と開発プロセスを簡素化し、柔軟性とスケーラビリティを高めます。 3)ただし、パフォーマンスの違いとサードパーティライブラリの互換性に注意を払い、純粋なJavaコードやクロスプラットフォームテストの使用などのベストプラクティスを採用する必要があります。

プラットフォームの独立性を考慮して、JavaはIoT(Thingのインターネット)デバイスの開発においてどのような役割を果たしますか?プラットフォームの独立性を考慮して、JavaはIoT(Thingのインターネット)デバイスの開発においてどのような役割を果たしますか?May 03, 2025 am 12:22 AM

javaplaysasificanificantduetduetoitsplatformindepence.1)itallowscodetobewrittendunonvariousdevices.2)java'secosystemprovidesutionforiot.3)そのセキュリティフィートルセンハンス系

Javaでプラットフォーム固有の問題に遭遇したシナリオと、どのように解決したかを説明してください。Javaでプラットフォーム固有の問題に遭遇したシナリオと、どのように解決したかを説明してください。May 03, 2025 am 12:21 AM

TheSolution to HandlefilepathsaCrosswindossandlinuxinjavaistousepaths.get()fromthejava.nio.filepackage.1)usesystem.getProperty( "user.dir")およびhearterativepathtoconstructurctthefilepath.2)

開発者にとってJavaのプラットフォーム独立性の利点は何ですか?開発者にとってJavaのプラットフォーム独立性の利点は何ですか?May 03, 2025 am 12:15 AM

java'splatformentepenceissificAntiveSifcuseDeverowsDevelowSowRitecodeOdeonceantoniTONAnyPlatformwsajvm.これは「writeonce、runanywhere」(wora)adportoffers:1)クロスプラットフォームの複雑性、deploymentacrossdiferentososwithusisues; 2)re

さまざまなサーバーで実行する必要があるWebアプリケーションにJavaを使用することの利点は何ですか?さまざまなサーバーで実行する必要があるWebアプリケーションにJavaを使用することの利点は何ですか?May 03, 2025 am 12:13 AM

Javaは、クロスサーバーWebアプリケーションの開発に適しています。 1)Javaの「Write and、Run Averywhere」哲学は、JVMをサポートするあらゆるプラットフォームでコードを実行します。 2)Javaには、開発プロセスを簡素化するために、SpringやHibernateなどのツールを含む豊富なエコシステムがあります。 3)Javaは、パフォーマンスとセキュリティにおいて優れたパフォーマンスを発揮し、効率的なメモリ管理と強力なセキュリティ保証を提供します。

JVMは、Javaの「Write and、Run Anywhere」(Wora)機能にどのように貢献しますか?JVMは、Javaの「Write and、Run Anywhere」(Wora)機能にどのように貢献しますか?May 02, 2025 am 12:25 AM

JVMは、バイトコード解釈、プラットフォームに依存しないAPI、動的クラスの負荷を介してJavaのWORA機能を実装します。 2。標準API抽象オペレーティングシステムの違い。 3.クラスは、実行時に動的にロードされ、一貫性を確保します。

Javaの新しいバージョンは、プラットフォーム固有の問題にどのように対処しますか?Javaの新しいバージョンは、プラットフォーム固有の問題にどのように対処しますか?May 02, 2025 am 12:18 AM

Javaの最新バージョンは、JVMの最適化、標準的なライブラリの改善、サードパーティライブラリサポートを通じて、プラットフォーム固有の問題を効果的に解決します。 1)Java11のZGCなどのJVM最適化により、ガベージコレクションのパフォーマンスが向上します。 2)Java9のモジュールシステムなどの標準的なライブラリの改善は、プラットフォーム関連の問題を削減します。 3)サードパーティライブラリは、OpenCVなどのプラットフォーム最適化バージョンを提供します。

JVMによって実行されたバイトコード検証のプロセスを説明します。JVMによって実行されたバイトコード検証のプロセスを説明します。May 02, 2025 am 12:18 AM

JVMのバイトコード検証プロセスには、4つの重要な手順が含まれます。1)クラスファイル形式が仕様に準拠しているかどうかを確認し、2)バイトコード命令の有効性と正確性を確認し、3)データフロー分析を実行してタイプの安全性を確保し、検証の完全性とパフォーマンスのバランスをとる。これらの手順を通じて、JVMは、安全で正しいバイトコードのみが実行されることを保証し、それによりプログラムの完全性とセキュリティを保護します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。