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

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

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

Groovyは、Java用のオブジェクト指向型プログラミング言語です。PythonやRuby、Perl、そしてSmalltalkに似た特徴を有する動的な言語です。

JUnit

JUnitは、Javaで開発されたプログラムのユニットテストを行うためのアプリケーションフレームワークです。簡単にプログラムのユニットテストを自動化することができ、結果もわかりやすく表示されるため効率的に開発時間を短縮できます。

Java

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

Q&A

解決済

1回答

963閲覧

List型のテストデータを作りたい

ponponmasamasa

総合スコア1

Groovy

Groovyは、Java用のオブジェクト指向型プログラミング言語です。PythonやRuby、Perl、そしてSmalltalkに似た特徴を有する動的な言語です。

JUnit

JUnitは、Javaで開発されたプログラムのユニットテストを行うためのアプリケーションフレームワークです。簡単にプログラムのユニットテストを自動化することができ、結果もわかりやすく表示されるため効率的に開発時間を短縮できます。

Java

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

0グッド

0クリップ

投稿2022/03/25 13:58

編集2022/03/25 14:14

List型のテストデータを作りたいです。
イメージとしては以下のような想定です。

List<Object> list = new ArrayList<>()

list  [0]   ∟code 01   ∟name いちご   ∟price 500  [1]   ∟code 02   ∟name バナナ   ∟price 200  [2]   ∟code 03   ∟name メロン   ∟price 800

以下のように書くと
list.add(0, "01")
list.add(1, "02")
list.add(2, "03")

list  [0] 01  [1] 02  [2] 03

のような形でデータができます。

setCode(”01”)、setName("いちご")、setPrice("500")らをどこかで使うのかと
思っているのですがやり方がわかりません。
作成したテストデータをlist.get(0).getCode()のような形で取得をしたいです。

アドバイスお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

う〜ん🤔
そもそもクラスは学んでいるのでしょうか?

おそらく...

Java

1list.Add("01"); 2list.Add("02"); 3list.Add("03");

でも同じ結果では?

listの中に3つの文字列(Stringクラスのインスタンス)を入れているだけです。
なのでsetCode("01")なんて言われても、Javaから見れば
StringクラスにsetCodeなんてメソッドないよ〜😭」
...となってしまいます。

まずはlistを意識する前に、setCodegetCodeなどが定義されたクラスを作成するべきではないでしょうか?
そのクラスのインスタンスをlistに追加すれば良いかと👀

Java

1public class TestClass { 2 private String _code; 3 private String _name; 4 private int _price; 5 6 public TestClass(string code, string name, int price) { 7 _code = code; 8 _name = name; 9 _price = price; 10 } 11 12 public void setCode(string code) { 13 _code = code; 14 } 15 16 public String getCode() { 17 return _code; 18 } 19 // ...以下省略 20} 21 22// 上記のようなクラスを作っておいて... 23list.Add(new TestClass("01", "いちご", 500)); 24list.Add(new TestClass("02", "バナナ", 200)); 25list.Add(new TestClass("03", "メロン", 800)); 26 27list[2].setCode("04"); // メロンのコードを「04」に変更

※Javaはかなり久しぶりなのでタイポ合ったらすいません😑
※古い書き方なのでもっとスマートな書き方はあるとは思いますがあえて基本的な書き方で😊

妥協に妥協を重ねている例ですが😅
もっと詳しいことを話すと...

  • codeって文字列にするべき?(数値じゃ駄目?)
  • ToStringのオーバーライド
  • ListにObject型は使うべきでない
  • ゲッターとセッターはいる?(特にセッター)

などいろいろありますが、ひとまずクラスやインスタンスを学ばないとJavaは使い物になりませんよ😊

投稿2022/03/25 14:30

HiraKazu1124

総合スコア322

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問