2019.04.03
Apache Commons Javaプログラム演習問題 第10回
Apache Commons を利用した Java でのプログラム作成問題の10回目となります。
環境を構築していない場合は、概要を読み、環境を構築してから実施してください。
※この出題形式に関しては答えは1つではありません。
解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正解として下さい。
問題
jp.pjin.tech.commons.domain.BloodType.java
package jp.pjin.tech.commons.domain; public enum BloodType { A, B, O, AB }
jp.pjin.tech.commons.domain.User.java
package jp.pjin.tech.commons.domain; import java.io.Serializable; import java.lang.reflect.InvocationTargetException; import java.time.LocalDate; import org.apache.commons.beanutils.BeanUtils; import lombok.Data; @Data public class User implements Serializable { private int id; private String name; private BloodType type; private LocalDate birthday; private String mail; private String phone; @Override public User clone() throws CloneNotSupportedException { try { return (User) BeanUtils.cloneBean(this); } catch (IllegalAccessException | InstantiationException | InvocationTargetException | NoSuchMethodException e) { e.printStackTrace(); } return null; } }
jp.pjin.tech.commons.Practice010.java
package jp.pjin.tech.commons; import java.time.LocalDate; import java.util.HashMap; import java.util.Map; import jp.pjin.tech.commons.domain.BloodType; import jp.pjin.tech.commons.domain.User; public class Practice010 { public static void main(String[] args) throws Exception { Map<String, Object> user = new HashMap<>(); user.put("id", 123); user.put("name", "大高弘明"); user.put("type", BloodType.B); user.put("birthday", LocalDate.parse("2000-12-10")); user.put("mail", "hiroaki.ootaka@ssie.jp"); user.put("phone", "000-9999-8888"); User ootaka = new User(); ootaka.setId((Integer) user.get("id")); ootaka.setName((String) user.get("user")); ootaka.setType((BloodType) user.get("type")); ootaka.setBirthday((LocalDate) user.get("birthday")); ootaka.setMail((String) user.get("mail")); ootaka.setPhone((String) user.get("phone")); System.out.println(ootaka); } }
Mapで生成しているデータがあります。
これをUserオブジェクトに変換しているのですが、良くこういったソースを目にします。
Userオブジェクトのフィールドが6項目なので、それほど長くないですが、多くなるとその分長くなります。
実際は、全てStringの値が来ることになるのですが、まあ、置いておいて。
先に値がUserオブジェクトの型と同様になるような状態からスタートしましょう。
この代入部分をcommonsを利用して、簡略化してください。
Apache Commons Javaプログラム演習問題 第23回
Apache Commons を利用した Java でのプログラム作成問題の23回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありません。 解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正
Apache Commons Javaプログラム演習問題 第22回
Apache Commons を利用した Java でのプログラム作成問題の22回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありません。 解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正
Apache Commons Javaプログラム演習問題 第21回
Apache Commons を利用した Java でのプログラム作成問題の21回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありません。 解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正
Apache Commons Javaプログラム演習問題 第20回
Apache Commons を利用した Java でのプログラム作成問題の20回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありません。 解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正
Apache Commons Javaプログラム演習問題 第19回
Apache Commons を利用した Java でのプログラム作成問題の19回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 DB環境の準備は、Apache Commons Javaプログラム演習問題 第16回をご覧ください。 ※この出題形式に関して
Apache Commons Javaプログラム演習問題 第18回
Apache Commons を利用した Java でのプログラム作成問題の18回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 DB環境の準備は、Apache Commons Javaプログラム演習問題 第16回をご覧ください。 ※この出題形式に関して
Apache Commons Javaプログラム演習問題 第17回
Apache Commons を利用した Java でのプログラム作成問題の17回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 DB環境の準備は、Apache Commons Javaプログラム演習問題 第16回をご覧ください。 ※この出題形式に関して
Apache Commons Javaプログラム演習問題 第16回
Apache Commons を利用した Java でのプログラム作成問題の16回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありません。 解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正
Apache Commons Javaプログラム演習問題 第12回
Apache Commons を利用した Java でのプログラム作成問題の12回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありません。 解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正
Apache Commons Javaプログラム演習問題 第15回
Apache Commons を利用した Java でのプログラム作成問題の15回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありません。 解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正