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

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

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

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

4回答

1908閲覧

Listの任意の型からデータを取得したい

flumchaso

総合スコア15

Java

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2018/05/08 00:26

編集2018/05/08 02:54

前提・実現したいこと

Java8であるList<Test>の型で宣言された変数にデータが格納されていて、そのデータから値を取得したい。
以下、試したこと内の第2引数部分が1のデータを取得する。

試したこと

格納する方法はわかり以下のように入れることができました。

Java

1List<Test> testList = new ArrayList(); 2~中略~ 3testList.add(new Test(1, 1, "tanaka", false));//データは複数あるが、参考までに1データのみ記載。

testList.get等もできず
取得の方法で悩んでいます…

補足情報(FW/ツールのバージョンなど)

Java8、Spring

Test.java

Java

1package common.entities; 2 3public class Test { 4 5 private int kumi;//組 6 private int no;//番号 7 private String name;//氏名 8 private boolean flg;//委員長フラグ 9 10 public Test(int i1, int i2, String s, boolean b) { 11 // TODO 自動生成されたコンストラクター・スタブ 12 } 13 public int getClass() { 14 return class; 15 } 16 public void setClass(int class) { 17 this.class = class; 18 } 19 public int getNo() { 20 return no; 21 } 22 public void setNo(int no) { 23 this.no = no; 24 } 25 public boolean getFlg() { 26 return flg; 27 } 28 public void setFlg(boolean flg) { 29 this.flg = flg; 30 } 31 public String getName() { 32 return name; 33 } 34 public void setName(String name) { 35 this.name = name; 36 } 37}

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

webarata3

2018/05/08 00:33

testListからどのような値を取得したいのでしょうか?具体的に書いてもらうといいかと思います。
maisumakun

2018/05/08 00:37

List<Test>にはTestしか入れられませんが、「任意の型」とはどういうことでしょうか。
momon-ga

2018/05/08 00:58

getの部分の記載をお願いします。getができないとはコンパイルエラーですか?実行時エラーですか?それとも、取得しようとした結果がNullですか?
退会済みユーザー

退会済みユーザー

2018/05/08 02:25

Test.javaはコンパイルできません。正しいものを貼り付けてください。
guest

回答4

0

註: 編集前の質問についての言及です。

変数名にclassを使うのはまずいですね。
class_とかclazzとかklassとかにしてでもそれを回避してください。

それに、なぜTestクラスにClassParamコンストラクタがあるのでしょう...?

投稿2018/05/08 01:31

編集2018/05/08 03:09
LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

num79kill

2018/05/08 03:14

まずいの前にコンパイルエラー(予約名使用)
LouiS0616

2018/05/08 03:17

(コンパイルエラーになるから)まずい、という意図で書きました。
guest

0

List順を追って取得するしかないので、条件を満たすものを探すにはループなりStreamなりを使ってすべて調べて抽出する他ありません。

java

1for(Test item : testList) { 2 // この中でitemを使って条件のチェックなどを行っていく 3}

投稿2018/05/08 01:27

編集2018/05/08 04:08
maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

num79kill

2018/05/08 03:15

equals,hashcodeを実装したら?
maisumakun

2018/05/08 03:18

Mapに収めるのなら役に立つとは思いますが>hashCode
num79kill

2018/05/08 03:50

equals 変えるなら hashCode も変えろと警告よく見るがね
maisumakun

2018/05/08 04:10

元の質問に「testList.get等もできず 取得の方法で悩んでいます…」とあるので、Listからの取り出し方がわからないのだろうと判断しての回答です。
guest

0

これでよく通りますね。

クラス名は せめて Class1 みたいに 予約語である class と別の名前にしてください。

また、

Java

1 public int getClass() { 2 return class; 3 }

とありますが、意味不明。なんでint?

普通、どうしても class というクラス名であれば、

Java

1 public class getClass() { 2 return class; 3 }

となるはずだが?

でもこれだと クラス定義にも感じるのでコンパイラはエラーを吐く。

だから、クラス名を Class1 として

Java

1 public Class1 getClass() { 2 return new Class1; 3 }

みたいにするならわかる。

投稿2018/05/08 03:38

BeatStar

総合スコア4958

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

第2引数がnoに入ると仮定して

java

1List<Test> filtered = testList.stream().filter(t -> t.getNo() == 1) 2 .collect(Collectors.toList());

投稿2018/05/08 03:04

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問