JAVA ヘルプ OkHttp Java:HTTPリクエストを簡素化 Darrius Serrant 更新日:7月 28, 2025 Download IronPDF Mavenダウンロード JARダウンロード Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 現代のJava開発において、HTTPリクエストの効率的な処理は、特にウェブサービスやAPIに依存するアプリケーションを構築するために非常に重要です。OkHttpは、JavaとKotlinの強力なHTTPおよびHTTP/2クライアントで、その性能、使いやすさ、そして高度な機能により人気の選択肢となっています。 この記事は、OkHttpの主要機能、インストール、一般的な使用例を包含する包括的なガイドを提供します。 OkHttpとは何ですか? OkHttpは、HTTPリクエストを処理するための多機能なオープンソースのJavaライブラリで、アプリケーションにシームレスに統合するための包括的な機能セットを提供します。 その直感的なAPIにより、新しいリクエストの作成やシンプルなPOSTリクエストの実行は、クエリパラメータと文字列URLを設定する新しいリクエストビルダーを使用するだけで簡単です。 さらに、OkHttpは効率的なレスポンス処理を促進し、レスポンスボディ、レスポンスヘッダへのアクセスを提供し、ネットワークトラフィックを最適化しサーバの可用性の問題を減少させるためにレスポンスのキャッシングもサポートしています。 同期呼び出しでも非同期呼び出しでも、OkHttpのコネクションプーリングは複数のIPアドレスに対処する場合でも最適なパフォーマンスを保証します。 Apache HTTP Clientを使用に慣れている開発者にとって、OkHttpはより現代的で効率的な代替手段を提供し、性能と柔軟性を向上させます。 非同期の呼び出しとコールバックのサポートにより、応答性とスケーラビリティを必要とするアプリケーションにとって好まれる選択肢となっています。 OkHttpを使用することで、多くのHTTPクライアントとリクエストの管理が容易になり、パフォーマンスや機能性を犠牲にすることなく、堅牢で信頼性のあるアプリケーションを構築することに集中できるようになります。 主要機能 OkHttpの主な機能には以下が含まれます: 同期および非同期リクエスト処理:OkHttpは同期(ブロッキング)および非同期(非ブロッキング)操作の両方を可能にします。 コネクションプーリング:HTTP接続を再利用してクライアント接続の問題を最小限に抑え、性能を向上させます。 透明なGZIP圧縮:HTTPレスポンスのサイズを削減し、帯域を節約しデータ転送を高速化します。 キャッシュ:レスポンスキャッシングをサポートし、繰り返しのネットワークリクエストの必要性を減少させます。 HTTP/2サポート:単一の接続上で複数のリクエストとレスポンスを多重化することで性能を向上させます。 タイムアウトとリトライ:接続および読み取りタイムアウトに対する細かい制御、ならびに失敗したリクエストへのリトライメカニズムを提供します。 OkHttpのインストール JavaプロジェクトでOkHttpを使用するには、その依存関係をビルド設定に含める必要があります。 Mavenを使用している場合は、以下の依存関係をpom.xmlファイルに追加してください: <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>5.0.0-alpha.14</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>5.0.0-alpha.14</version> </dependency> XML Gradleの場合、build.gradleファイルにこの行を追加してください: implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.14' 最新バージョンをMaven CentralやGitHubで確認してください。 基本的な使用方法 OkHttpClientの作成 OkHttpClientクラスはHTTPリクエストを実行するための主要なエントリーポイントです。 接続プーリングを活用するために、アプリケーション全体で単一のOkHttpClientインスタンスを作成して再利用することを推奨します。 import okhttp3.OkHttpClient; OkHttpClient client = new OkHttpClient(); import okhttp3.OkHttpClient; OkHttpClient client = new OkHttpClient(); JAVA GETリクエストの作成 シンプルなGETリクエストを作成するには、Requestオブジェクトを作成し、OkHttpClientを使用して実行します。 import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; public class OkHttpExample { public static void main(String[] args) { OkHttpClient client = new OkHttpClient(); // Create a request specifying the URL Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts/1") .build(); // Execute the request and handle the response try (Response response = client.newCall(request).execute()) { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } catch (IOException e) { e.printStackTrace(); // Handle exceptions } } } import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; public class OkHttpExample { public static void main(String[] args) { OkHttpClient client = new OkHttpClient(); // Create a request specifying the URL Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts/1") .build(); // Execute the request and handle the response try (Response response = client.newCall(request).execute()) { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } catch (IOException e) { e.printStackTrace(); // Handle exceptions } } } JAVA POSTリクエストの作成 POSTリクエストの場合、リクエストボディを含めてレスポンスを返す必要があります。 OkHttpはこれを処理するためのRequestBodyクラスを提供します。 import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; import java.io.IOException; public class OkHttpExample { // Define the JSON media type public static final MediaType JSON = MediaType.get("application/json; charset=utf-8"); public static void main(String[] args) { OkHttpClient client = new OkHttpClient(); // JSON data to be sent String json = "{\"title\":\"foo\",\"body\":\"bar\",\"userId\":1}"; // Create request body with JSON data RequestBody body = RequestBody.create(json, JSON); // Build the POST request Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts") .post(body) .build(); // Execute the request and handle the response try (Response response = client.newCall(request).execute()) { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } catch (IOException e) { e.printStackTrace(); // Handle exceptions } } } import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; import java.io.IOException; public class OkHttpExample { // Define the JSON media type public static final MediaType JSON = MediaType.get("application/json; charset=utf-8"); public static void main(String[] args) { OkHttpClient client = new OkHttpClient(); // JSON data to be sent String json = "{\"title\":\"foo\",\"body\":\"bar\",\"userId\":1}"; // Create request body with JSON data RequestBody body = RequestBody.create(json, JSON); // Build the POST request Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts") .post(body) .build(); // Execute the request and handle the response try (Response response = client.newCall(request).execute()) { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } catch (IOException e) { e.printStackTrace(); // Handle exceptions } } } JAVA 非同期リクエスト 非同期リクエストはコールバックを使用して処理され、応答を待つ間にアプリケーションが応答性を保つことができます。 import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; public class OkHttpExample { public static void main(String[] args) { OkHttpClient client = new OkHttpClient(); // Create a request specifying the URL Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts/1") .build(); // Enqueue the request to be executed asynchronously client.newCall(request).enqueue(new Callback() { // Handle failure of the request @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); // Handle exceptions } // Handle successful response @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } }); } } import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; public class OkHttpExample { public static void main(String[] args) { OkHttpClient client = new OkHttpClient(); // Create a request specifying the URL Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts/1") .build(); // Enqueue the request to be executed asynchronously client.newCall(request).enqueue(new Callback() { // Handle failure of the request @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); // Handle exceptions } // Handle successful response @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } }); } } JAVA 高度な機能 インターセプター インターセプターはリクエストとレスポンスを検査、変更、またはリトライできる強力な機能です。 これらはログの追加、ヘッダーの追加、認証の処理に使用できます。 import okhttp3.Interceptor; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; public class OkHttpExample { public static void main(String[] args) { // Add an interceptor for modifying requests OkHttpClient client = new OkHttpClient.Builder() .addInterceptor(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { // Modify the request to add the authorization header Request request = chain.request().newBuilder() .addHeader("Authorization", "Bearer your_token_here") .build(); return chain.proceed(request); } }) .build(); // Create a request specifying the URL Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts/1") .build(); // Execute the request and handle the response try (Response response = client.newCall(request).execute()) { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } catch (IOException e) { e.printStackTrace(); // Handle exceptions } } } import okhttp3.Interceptor; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; public class OkHttpExample { public static void main(String[] args) { // Add an interceptor for modifying requests OkHttpClient client = new OkHttpClient.Builder() .addInterceptor(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { // Modify the request to add the authorization header Request request = chain.request().newBuilder() .addHeader("Authorization", "Bearer your_token_here") .build(); return chain.proceed(request); } }) .build(); // Create a request specifying the URL Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts/1") .build(); // Execute the request and handle the response try (Response response = client.newCall(request).execute()) { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } catch (IOException e) { e.printStackTrace(); // Handle exceptions } } } JAVA タイムアウトの処理 OkHttpはHTTPリクエスト自体のさまざまな段階に対するタイムアウトを設定するメソッドを提供します。 import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; import java.util.concurrent.TimeUnit; public class OkHttpExample { public static void main(String[] args) { // Configure timeouts for connections, writes, and reads OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .writeTimeout(10, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .build(); // Create a request specifying the URL Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts/1") .build(); // Execute the request and handle the response try (Response response = client.newCall(request).execute()) { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } catch (IOException e) { e.printStackTrace(); // Handle exceptions } } } import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; import java.util.concurrent.TimeUnit; public class OkHttpExample { public static void main(String[] args) { // Configure timeouts for connections, writes, and reads OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .writeTimeout(10, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .build(); // Create a request specifying the URL Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts/1") .build(); // Execute the request and handle the response try (Response response = client.newCall(request).execute()) { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } catch (IOException e) { e.printStackTrace(); // Handle exceptions } } } JAVA レスポンスのキャッシュ OkHttpはリクエストの待機時間を短縮し性能を向上させるためにレスポンスをキャッシュできます。 キャッシュディレクトリとサイズを設定する必要があります。 import okhttp3.Cache; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.File; import java.io.IOException; public class OkHttpExample { public static void main(String[] args) { // Define the cache directory and size File cacheDirectory = new File("cacheDirectory"); Cache cache = new Cache(cacheDirectory, 10 * 1024 * 1024); // 10 MB cache // Build OkHttpClient with caching capability OkHttpClient client = new OkHttpClient.Builder() .cache(cache) .build(); // Create a request specifying the URL Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts/1") .build(); // Execute the request and handle the response try (Response response = client.newCall(request).execute()) { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } catch (IOException e) { e.printStackTrace(); // Handle exceptions } } } import okhttp3.Cache; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.File; import java.io.IOException; public class OkHttpExample { public static void main(String[] args) { // Define the cache directory and size File cacheDirectory = new File("cacheDirectory"); Cache cache = new Cache(cacheDirectory, 10 * 1024 * 1024); // 10 MB cache // Build OkHttpClient with caching capability OkHttpClient client = new OkHttpClient.Builder() .cache(cache) .build(); // Create a request specifying the URL Request request = new Request.Builder() .url("https://jsonplaceholder.typicode.com/posts/1") .build(); // Execute the request and handle the response try (Response response = client.newCall(request).execute()) { if (response.isSuccessful()) { // Check if the response was successful System.out.println(response.body().string()); // Print the response body } else { System.err.println("Request failed: " + response.code()); // Print error code } } catch (IOException e) { e.printStackTrace(); // Handle exceptions } } } JAVA JavaでのIronPDFとのOkHttpの統合 OkHttpとIronPDFの能力を組み合わせることで、Java開発者はウェブからデータを取得し、それをPDFに変換することができます。 OkHttpはネットワークリクエストを処理するための堅牢なHTTPクライアントであり、IronPDFは様々なソースからPDFを生成するための強力なライブラリです。 IronPDF - 概要 IronPDF for JavaはJavaアプリケーション内でのPDF生成を簡素化するために設計された包括的なライブラリです。 その直感的なAPIを活用し、HTML、画像、テキストなどのさまざまなデータソースからPDFドキュメントを簡単に作成、操作、レンダリングできます。 PDF暗号化、デジタル署名、インタラクティブなフォーム記入といった高度な機能のサポートにより、開発者は特定の要求に合わせたプロフェッショナルグレードのPDFを生成することができます。 そのシームレスな統合と豊富なドキュメントにより、Java開発者が堅牢なPDF生成機能でアプリケーションを強化したいときの頼りになるソリューションです。 依存関係の設定 まず、必要な依存関係をpom.xml(Mavenの場合)ファイルまたはbuild.gradle(Gradleの場合)ファイルに追加します。 Maven <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>2024.3.1</version> </dependency> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>2024.3.1</version> </dependency> XML Gradle implementation 'com.ironsoftware:ironpdf:2024.3.1' OkHttpとIronPDFの統合 今、OkHttpを使用してHTMLコンテンツを取得し、IronPDFを使用してPDFを生成するという二つの機能を組み合わせましょう。 import com.ironsoftware.ironpdf.PdfDocument; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; import java.nio.file.Paths; public class OkHttpToPdf { private final OkHttpClient client = new OkHttpClient(); // Initialize the OkHttpClient // Method to fetch HTML content from a given URL public String fetchHtml(String url) throws IOException { Request request = new Request.Builder() .url(url) .build(); // Execute the request and return the response body as a string try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); return response.body().string(); } } // Method to generate a PDF from a URL public void generatePdfFromUrl(String url, String outputFilePath) { try { String htmlContent = fetchHtml(url); // Fetch the HTML content PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent); // Render HTML as PDF pdf.saveAs(Paths.get(outputFilePath)); // Save the PDF to the specified path System.out.println("PDF generated successfully at " + outputFilePath); } catch (IOException e) { System.err.println("Failed to fetch HTML content: " + e.getMessage()); } catch (Exception e) { System.err.println("Failed to generate PDF: " + e.getMessage()); } } // Main method to demonstrate fetching HTML and generating a PDF public static void main(String[] args) { OkHttpToPdf converter = new OkHttpToPdf(); // Create an instance of OkHttpToPdf converter.generatePdfFromUrl("https://ironpdf.com/java", "website.pdf"); // Fetch HTML and generate PDF } } import com.ironsoftware.ironpdf.PdfDocument; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; import java.nio.file.Paths; public class OkHttpToPdf { private final OkHttpClient client = new OkHttpClient(); // Initialize the OkHttpClient // Method to fetch HTML content from a given URL public String fetchHtml(String url) throws IOException { Request request = new Request.Builder() .url(url) .build(); // Execute the request and return the response body as a string try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); return response.body().string(); } } // Method to generate a PDF from a URL public void generatePdfFromUrl(String url, String outputFilePath) { try { String htmlContent = fetchHtml(url); // Fetch the HTML content PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent); // Render HTML as PDF pdf.saveAs(Paths.get(outputFilePath)); // Save the PDF to the specified path System.out.println("PDF generated successfully at " + outputFilePath); } catch (IOException e) { System.err.println("Failed to fetch HTML content: " + e.getMessage()); } catch (Exception e) { System.err.println("Failed to generate PDF: " + e.getMessage()); } } // Main method to demonstrate fetching HTML and generating a PDF public static void main(String[] args) { OkHttpToPdf converter = new OkHttpToPdf(); // Create an instance of OkHttpToPdf converter.generatePdfFromUrl("https://ironpdf.com/java", "website.pdf"); // Fetch HTML and generate PDF } } JAVA コードの説明 上記コードは、JavaでOkHttpとIronPDFライブラリを使用してURLからHTMLコンテンツを取得し、それをPDFファイルに変換する方法を示しています。 インポート文:必要なライブラリがインポートされ、PDF生成用のIronPDFとHTTPリクエスト用のOkHttpが含まれます。 OkHttpClientの初期化:OkHttpClientのインスタンスが作成されます。 fetchHtmlメソッド:このメソッドは指定したURLからHTMLコンテンツを取得します。 提供されたURLを使用してリクエストが構築されます。 リクエストが実行され、レスポンスが取得されます。 レスポンスが成功しない場合、IOExceptionがスローされます。 レスポンスボディは文字列として返されます。 generatePdfFromUrlメソッド:このメソッドは指定したURLのHTMLコンテンツからPDFを生成し、指定されたファイルパスに保存します。 HTMLコンテンツはfetchHtmlメソッドを使用して取得されます。 HTMLコンテンツはIronPDFを使用してPDFとしてレンダリングされます。 PDFは指定されたファイルパスに保存されます。 HTMLの取得とPDFの生成の両方に対して適切なエラーハンドリングが含まれます。 mainメソッド:これはプログラムのエントリーポイントです。 OkHttpToPdfのインスタンスが作成されます。 generatePdfFromUrlメソッドは特定のURLと出力ファイルパスで呼び出されます。 出力 OkHttpクライアントを使用してURLデータが取得され、IronPDFを使用してそれを効率的にPDFに変換する方法が以下に示されます。 IronPDFに関する詳細情報は、このIronPDFドキュメントページを参照してください。 Please also check this IronPDF Code Examples and IronPDF API Reference page for further utilizing IronPDF. 結論 OkHttpは、JavaとAndroidのための多機能で強力なHTTPクライアントで、ネットワークリクエストのプロセスを簡素化します。 同期および非同期操作、コネクションプーリング、透明なGZIP圧縮、キャッシュ、およびHTTP/2のサポートにより、OkHttpクライアントは幅広いユースケースに適しています。 JavaアプリケーションにOkHttpを統合することで、そのパフォーマンス、信頼性、効率を向上させることができます。 OkHttpとIronPDFを統合することで、ウェブソースからHTMLコンテンツを効率的に取得し、PDFドキュメントに変換することができます。 この方法は、レポートを生成したり、ウェブページを保存したり、ウェブコンテンツをオフラインドキュメントに変換する必要があるアプリケーションに特に有用です。 プロジェクトにプロフェッショナルグレードのPDF生成のシームレスな統合を可能にするIronPDFの無料トライアルであなたのJavaアプリケーションにおけるPDF生成の可能性を解き放ちましょう。 今すぐダウンロードして、あなたのPDF生成の体験を高めましょう! Darrius Serrant 今すぐエンジニアリングチームとチャット フルスタックソフトウェアエンジニア(WebOps) Darrius Serrantは、マイアミ大学でコンピュータサイエンスの学士号を取得し、Iron SoftwareでフルスタックWebOpsマーケティングエンジニアとして働いています。若い頃からコーディングに惹かれ、コンピューティングを神秘的かつアクセス可能なものとし、創造性と問題解決のための完璧な媒体と考えていました。Iron Softwareでは、新しいものを創造することと、複雑なコンセプトをより理解しやすくすることを楽しんでいます。Resident Developerの一人として、次世代に専門知識を共有するために、学生を教えることにも志願しました。Darriusにとって、その仕事は価値があり、実際の影響があるため、満足感があります。 関連する記事 更新日 7月 28, 2025 Javaの参照渡し(開発者向けにその仕組み) Javaプログラミング言語では、パラメータ渡しは常に値渡しです。オブジェクトを扱う場合、参照変数は値で渡されます 詳しく読む 更新日 7月 28, 2025 Javaスキャナー(開発者向けにその仕組み) この記事では、Javaスキャナークラスの動作を深く分析し、例を通じてその使い方を探ります 詳しく読む 更新日 8月 31, 2025 Java Printf(開発者向けにその仕組み) IronPDFをJavaのprintf機能と統合することで、正確なテキストフォーマットでPDF出力を強化できます 詳しく読む Apache Commons IO: Java I/OユーティリティGson for Java:オブジェクト...
更新日 7月 28, 2025 Javaの参照渡し(開発者向けにその仕組み) Javaプログラミング言語では、パラメータ渡しは常に値渡しです。オブジェクトを扱う場合、参照変数は値で渡されます 詳しく読む
更新日 8月 31, 2025 Java Printf(開発者向けにその仕組み) IronPDFをJavaのprintf機能と統合することで、正確なテキストフォーマットでPDF出力を強化できます 詳しく読む