質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

Q&A

解決済

【Java】ArrayListへの要素の追加ができない

mi-ta
rilly

総合スコア4

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

1回答

0グッド

0クリップ

235閲覧

投稿2023/01/31 03:11

実現したいこと

JavaにてAzure Storage Accountのコンテナーに存在するBlob名を取得し、
特定のBlob名のものがあればArrayListに格納するという処理を実装したいです。

発生している問題

#31のif文によるBlob名の判定処理がうまく機能せず、
ArrayListへの要素の追加が一切なされません。

該当のソースコード

Java

1 // 接続文字列 2 final String storageConnectionString = System.getenv("STORAGE_CONNECTION_STRING"); 3 4 // コンテナ名 5 String containerName = System.getenv("CONTAINER_NAME"); 6 7 // ストレージアカウントオブジェクトを取得 8 CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString); 9 10 // Blobクライアントオブジェクトを取得 11 CloudBlobClient blobClient = storageAccount.createCloudBlobClient(); 12 13 // Blobの指定したコンテナを取得 14 CloudBlobContainer container = blobClient.getContainerReference(containerName); 15 16 String blobName[] = new String[3]; 17 blobName[0] = "xxx"; 18 blobName[1] = "yyy"; 19 blobName[2] = "zzz"; 20 21 ArrayList<String> existBlobNameList = new ArrayList<String>() { 22 { 23 // ストレージアカウント上の前日分ファイルのチェック 24 for (ListBlobItem blobItem : container.listBlobs()) { 25 26 // blob名・パスを取得 27 String URI = blobItem.getUri().toString(); 28 String existBlobName = URI.substring(URI.lastIndexOf("/") + 1); 29 30 for (int i = 0; i <= 2; i++) { 31 if (existBlobName == blobName[i]) { 32 add(blobName[i]); 33 } else { 34 continue; 35 } 36 } 37 } 38 } 39 }; 40 41

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

2

ベストアンサー

Javaの文字列は、中身が同じでも==で比較するとfalseとなることがありえます。

equalsで比較しましょう。

投稿2023/01/31 03:19

maisumakun

総合スコア142194

YT0014, rilly👍を押しています

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。