apache commons

Apache Commons Javaプログラム演習問題 第11回


Apache Commons を利用した Java でのプログラム作成問題の11回目となります。

環境を構築していない場合は、概要を読み、環境を構築してから実施してください。

※この出題形式に関しては答えは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.Practice011.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 Practice011 {
	public static void main(String[] args) throws Exception {
		Map<String, String> user = new HashMap<>();
		user.put("id", "123");
		user.put("name", "大高弘明");
		user.put("type", "B");
		user.put("birthday", "2000-12-10");
		user.put("mail", "hiroaki.ootaka@ssie.jp");
		user.put("phone", "000-9999-8888");

		User ootaka = new User();
		ootaka.setId(Integer.parseInt(user.get("id")));
		ootaka.setName(user.get("user"));
		ootaka.setType(BloodType.valueOf(user.get("type")));
		ootaka.setBirthday(LocalDate.parse(user.get("birthday")));
		ootaka.setMail(user.get("mail"));
		ootaka.setPhone(user.get("phone"));

		System.out.println(ootaka);

	}
}

前回 と同様な問題になりますが、こちらのほうが多いパターンです。
全ての値が文字列になっています。

この代入部分をcommonsを利用して、簡略化してください。

解答例1
apache commons

Apache Commons Javaプログラム演習問題 第19回

Apache Commons を利用した Java でのプログラム作成問題の19回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 DB環境の準備は、Apache Common […]
コメントなし
apache commons

Apache Commons Javaプログラム演習問題 第18回

Apache Commons を利用した Java でのプログラム作成問題の18回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 DB環境の準備は、Apache Common […]
コメントなし
apache commons

Apache Commons Javaプログラム演習問題 第17回

Apache Commons を利用した Java でのプログラム作成問題の17回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 DB環境の準備は、Apache Common […]
コメントなし
apache commons

Apache Commons Javaプログラム演習問題 第16回

Apache Commons を利用した Java でのプログラム作成問題の16回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありま […]
コメントなし
apache commons

Apache Commons Javaプログラム演習問題 第12回

Apache Commons を利用した Java でのプログラム作成問題の12回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありま […]
コメントなし
apache commons

Apache Commons Javaプログラム演習問題 第15回

Apache Commons を利用した Java でのプログラム作成問題の15回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありま […]
コメントなし
apache commons

Apache Commons Javaプログラム演習問題 第14回

Apache Commons を利用した Java でのプログラム作成問題の14回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありま […]
コメントなし
apache commons

Apache Commons Javaプログラム演習問題 第13回

Apache Commons を利用した Java でのプログラム作成問題の13回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありま […]
コメントなし
apache commons

Apache Commons Javaプログラム演習問題 第11回

Apache Commons を利用した Java でのプログラム作成問題の11回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありま […]
コメントなし
apache commons

Apache Commons Javaプログラム演習問題 第10回

Apache Commons を利用した Java でのプログラム作成問題の10回目となります。 環境を構築していない場合は、概要を読み、環境を構築してから実施してください。 ※この出題形式に関しては答えは1つではありま […]
コメントなし
  • このエントリーをはてなブックマークに追加

PAGE TOP