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

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

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

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

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

Q&A

解決済

1回答

1374閲覧

ArrayListを作る上で全て型をStringにそろえたのに、intで設定したものはStringにできません的なエラーが出てきます...。

chimo

総合スコア55

Java

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

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

0グッド

1クリップ

投稿2020/03/21 15:29

別のクラスでアンケート記入のフォームを作成しました。そこに入力した情報をShowAllSurveyクラスにてパラメーターを取り出し、postContentListという名前のArrayListに順番に格納していきたいです。そのためにすべての値の型をString にあわすために以下のようにコーディングしました。

java

1//リクエストパラメータを取得 2 String name = request.getParameter("NAME"); //リクエストパラメータ(NAME) 3 String age = String.valueOf( request.getParameter("AGE")) ; //リクエストパラメータ(AGE) 4 String sex = String.valueOf(request.getParameter("SEX")) ; //リクエストパラメータ(SEX) 5 String satisfactionLevel = String.valueOf(request.getParameter("SATISFACTION_LEVEL")) ; //リクエストパラメータ(SATISFACTION_LEVEL) 6 String message = request.getParameter("MESSAGE"); //リクエストパラメータ(MESSAGE) 7

このあとアンケートデータを作成しようと以下のようにコードを書きました

java

1//アンケートデータ(SurveyDto型)の作成 2 SurveyDto dto = new SurveyDto(); 3 dto.setName( name ); 4 dto.setAge( age ); 5 dto.setSex( sex ); 6 dto.setSatisfactionLevel( satisfactionLevel ); 7 dto.setMessage( message ); 8 dto.setTime( new Timestamp(System.currentTimeMillis()) ); //現在時刻を更新時刻として設定 9 10

このとき、Eclipseじょうで、
dto.setAge( age );
dto.setSex( sex );
dto.setSatisfactionLevel( satisfactionLevel );
の三つのそれどれの行にエラーメッセージが書かれていました
【エラー内容】-----------------------
SurveyDtoのメソッドsetAge(int)は引数(String)に適用できません
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
たしかにDTOではいかのように設定しています。

java

1//getter/setter(対象フィールド:age) 2 public int getAge() { return age; } 3 public void setAge(int age) { this.age = age; }

しかしSurvayDtoクラスでint型で設定していても、ShowAllSurveyクラスではString型に変換しているし、ちゃんと変換した後でアンケートデータの作成をしようとしているので、いけるのでは??と思うのですが...。

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

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

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

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

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

guest

回答1

0

ベストアンサー

SurvayDtoクラスでint型で設定していても、ShowAllSurveyクラスではString型に変換している

あるクラスにとって, 他のクラスがどうであっても関係ありません.
void setAge(int age) と定義している以上, パラメータ age には int を指定しなければならず, dto.setAge( age ) で age が String であれば(中身が文字だろうが数"字"だろうが元が int だろうが関係無く)エラーです.

投稿2020/03/21 17:13

jimbe

総合スコア12648

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問