{"id":315,"date":"2005-05-20T13:00:11","date_gmt":"2005-05-20T04:00:11","guid":{"rendered":"http:\/\/www.javable.jp\/blog\/?p=315"},"modified":"2012-04-13T12:39:13","modified_gmt":"2012-04-13T03:39:13","slug":"beanutils-%e3%81%a7%e7%8b%ac%e8%87%aa%e3%81%ae%e3%82%b3%e3%83%b3%e3%83%90%e3%83%bc%e3%82%bf%e3%83%bc%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/www.javable.jp\/blog\/315.html","title":{"rendered":"BeanUtils \u3067\u72ec\u81ea\u306e\u30b3\u30f3\u30d0\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3059\u308b"},"content":{"rendered":"<p>\r\n<a href=\"\/blog\/304.html\">\r\nBeanUtils \u3067 JavaBeans \u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u4e00\u6c17\u306b\u30b3\u30d4\u30fc\u3059\u308b<\/a>\r\n\u3067\u4f5c\u6210\u3057\u305f\u30b5\u30f3\u30d7\u30eb\u3067\u306f\u3001\r\njava.util.Date \u3092 String \u306b\u30b3\u30d4\u30fc\u3057\u305f\u6642\u306b \r\n&#8220;yyyy\/MM\/dd&nbsp;HH:mm:ss&#8221; \u3068\u3044\u3046\u3088\u3046\u306a\u4efb\u610f\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3078\u306e\u5909\u63db\u306f\u51fa\u6765\u307e\u305b\u3093\u3067\u3057\u305f\u3002<!--more-->\r\n\u3053\u308c\u306f BeanUtils \u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u632f\u308b\u821e\u3044\u304c\r\njava.util.Date#toString()\r\n\u306e\u5024\u3092\u4f7f\u7528\u3057\u3066 String \u3078\u5909\u63db\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u70ba\u3067\u3059\u3002\r\n\u307e\u305a\u305d\u306e\u4ed5\u7d44\u307f\u3092\u5c11\u3057\u8abf\u3079\u3001\u72ec\u81ea\u306e\u5909\u63db\u3092\u884c\u3046\u306b\u306f\u3069\u3046\u3059\u308c\u3070\u826f\u3044\u304b\u3092\u8a66\u3057\u3066\u307f\u307e\u3059\u3002\r\n<\/p>\r\n\r\n<h3>BeanUtils \u304c\u578b\u306e\u9055\u3046\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u5909\u63db\u3059\u308b\u4ed5\u7d44\u307f<\/h3>\r\n<p>\r\nBeanUtils \u3067\u306f\u30b3\u30d4\u30fc\u5143\u3068\u30b3\u30d4\u30fc\u5148\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u6bd4\u8f03\u3057\u3066\u3001\r\n\u540c\u3058\u540d\u524d\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u3042\u308c\u3070\u3001\r\n\u305d\u306e\u578b\u304c\u9055\u3063\u3066\u3082\u81ea\u52d5\u3067\u5909\u63db\u3057\u3066\u304f\u308c\u307e\u3059\u3002\r\n\u4f8b\u3048\u3070\u4e0b\u56f3\u306b\u304a\u3044\u3066\u3001\r\n\u30b3\u30d4\u30fc\u5143\u306e UserModel#getLoginDate() \u304c java.util.Date \u3092\u8fd4\u3059\u306e\u306b\u5bfe\u3057\u3001\r\n\u30b3\u30d4\u30fc\u5148\u306e UserForm#setLoginDate(String) \u306f String \u3092\u8a2d\u5b9a\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\r\n<\/p>\r\n<img decoding=\"async\" src=\"\/assets\/images\/articles\/beanutils_fig002.gif\"\/>\r\n<p>\r\n\u3053\u306e\u3088\u3046\u306b\u578b\u304c\u9055\u3046\u3082\u306e\u3092\u81ea\u52d5\u5909\u63db\u3059\u308b\u4ed5\u7d44\u307f\u3068\u3057\u3066\u3001\r\nBeanUtils \u306f\r\n<a href=\"http:\/\/commons.apache.org\/beanutils\/apidocs\/org\/apache\/commons\/beanutils\/Converter.html\" class=\"external\">\r\nConverter<\/a>\r\n\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u7528\u610f\u3057\u3066\u3044\u307e\u3059\u3002\r\n\u30c7\u30d5\u30a9\u30eb\u30c8\u3067<a href=\"#table01\">\u8868\uff11<\/a>\u306e\u30b3\u30f3\u30d0\u30fc\u30bf\u30fc\u304c\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u305f\u3081\u3001\r\n\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u578b\u3084\u57fa\u672c\u30af\u30e9\u30b9\u306b\u95a2\u3057\u3066\u306f\u81ea\u52d5\u5909\u63db\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\r\n<\/p>\r\n\r\n<table class=\"toolsTable\" id=\"table01\">\r\n<caption>\u8868\uff11\uff1a\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u30b3\u30f3\u30d0\u30fc\u30bf<\/caption>\r\n<tr>\r\n\t<th rowspan=\"3\">\u30b3\u30d4\u30fc\u5148\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u578b<\/th>\r\n\t<th rowspan=\"3\">\u5c0e\u5165Ver.<\/th>\r\n\t<th rowspan=\"3\">\u5bfe\u5fdc\u3059\u308b<span class=\"s\">(\u203b1)<\/span>\u30b3\u30f3\u30d0\u30fc\u30bf\u30fc<span class=\"s\">\uff08\u5b9f\u969b\u306b\u306f\uff11\u884c\uff09<\/span><\/th>\r\n\t<th colspan=\"3\" align=\"center\">\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u5909\u63db\u5185\u5bb9(BeanUtils 1.7)<\/th>\r\n<\/tr>\r\n<tr>\r\n\t<th colspan=\"3\" align=\"center\">\u30b3\u30d4\u30fc\u5143\u306e\u5024\u304c\u2026<\/th>\r\n<\/tr>\r\n<tr>\r\n\t<th>null<\/th>\r\n\t<th>\u540c\u3058\u578b<\/th>\r\n\t<th>\u305d\u306e\u4ed6<\/th>\r\n<\/tr>\r\n<tr>\r\n\t<td>boolean<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">Boolean<br\/>Converter<\/td>\r\n\t<td>false<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\t&lt;\u5143\u306e\u5024&gt;.toString() \u304c &#8220;yes&#8221;, &#8220;y&#8221;, &#8220;true&#8221;, &#8220;on&#8221;, &#8220;1&#8221; \u306a\u3089\u3070<strong>true<\/strong>, \r\n\t\t&#8220;no&#8221;, &#8220;n&#8221;, &#8220;false&#8221;, &#8220;off&#8221;, &#8220;0&#8221; \u306a\u3089\u3070 <strong>false<\/strong>\r\n\t\t\uff08\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u306f\u533a\u5225\u3057\u306a\u3044\uff09\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>Boolean<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n\t<td>Boolean.FALSE<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>char<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">Character<br\/>Converter<\/td>\r\n\t<td>\u534a\u89d2\u30b9\u30da\u30fc\u30b9<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\t&lt;\u5143\u306e\u5024&gt;.toString().charAt(0)<br\/>\r\n\t\t\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>Charcter<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n\t<td class=\"s\">new Charcter(&#8216; &#8216;)<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>String<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">String<br\/>Converter<\/td>\r\n\t<td>null<\/td>\r\n\t<td>&#8211;<\/td>\r\n\t<td>\r\n\t\t&lt;\u5143\u306e\u5024&gt;.toString()\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>byte<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">Byte<br\/>Converter<\/td>\r\n\t<td>0<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\t\u5143\u306e\u5024\u304c Number \u306e\u30b5\u30d6\u30af\u30e9\u30b9<span class=\"s\">(\u203b2)<\/span>\r\n\t\t\u306a\u3089\u3070\u3001((Number)&lt;\u5143\u306e\u5024&gt;).byteValue()<br\/>\r\n\t\t\u305d\u308c\u4ee5\u5916\u306f new Byte(&lt;\u5143\u306e\u5024&gt;.toString()) \u3067\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>Byte<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n\t<td class=\"s\">new Byte((byte)0)<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>short<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">Short<br\/>Converter<\/td>\r\n\t<td>0<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\t\u5143\u306e\u5024\u304c Number \u306e\u30b5\u30d6\u30af\u30e9\u30b9<span class=\"s\">(\u203b2)<\/span>\r\n\t\t\u306a\u3089\u3070\u3001((Number)&lt;\u5143\u306e\u5024&gt;).shortValue()<br\/>\r\n\t\t\u305d\u308c\u4ee5\u5916\u306f new Short(&lt;\u5143\u306e\u5024&gt;.toString()) \u3067\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>Short<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n\t<td class=\"s\">new&nbsp;Short(0)<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>int<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">Integer<br\/>Converter<\/td>\r\n\t<td>0<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\t\u5143\u306e\u5024\u304c Number \u306e\u30b5\u30d6\u30af\u30e9\u30b9<span class=\"s\">(\u203b2)<\/span>\r\n\t\t\u306a\u3089\u3070\u3001((Number)&lt;\u5143\u306e\u5024&gt;).intValue()<br\/>\r\n\t\t\u305d\u308c\u4ee5\u5916\u306f new Integer(&lt;\u5143\u306e\u5024&gt;.toString()) \u3067\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>Integer<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n\t<td class=\"s\">new&nbsp;Integer(0)<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>long<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">Long<br\/>Converter<\/td>\r\n\t<td>0<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\t\u5143\u306e\u5024\u304c Number \u306e\u30b5\u30d6\u30af\u30e9\u30b9<span class=\"s\">(\u203b2)<\/span>\r\n\t\t\u306a\u3089\u3070\u3001((Number)&lt;\u5143\u306e\u5024&gt;).longValue()<br\/>\r\n\t\t\u305d\u308c\u4ee5\u5916\u306f new Long(&lt;\u5143\u306e\u5024&gt;.toString()) \u3067\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>Long<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n\t<td class=\"s\">new&nbsp;Long(0)<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>float<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">Float<br\/>Converter<\/td>\r\n\t<td>0.0<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\t\u5143\u306e\u5024\u304c Number \u306e\u30b5\u30d6\u30af\u30e9\u30b9<span class=\"s\">(\u203b2)<\/span>\r\n\t\t\u306a\u3089\u3070\u3001((Number)&lt;\u5143\u306e\u5024&gt;).floatValue()<br\/>\r\n\t\t\u305d\u308c\u4ee5\u5916\u306f new Float(&lt;\u5143\u306e\u5024&gt;.toString()) \u3067\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>Float<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n\t<td class=\"s\">new&nbsp;Float((float)0.0)<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>double<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">Double<br\/>Converter<\/td>\r\n\t<td>0.0<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\t\u5143\u306e\u5024\u304c Number \u306e\u30b5\u30d6\u30af\u30e9\u30b9<span class=\"s\">(\u203b2)<\/span>\r\n\t\t\u306a\u3089\u3070\u3001((Number)&lt;\u5143\u306e\u5024&gt;).doubleValue()<br\/>\r\n\t\t\u305d\u308c\u4ee5\u5916\u306f new Double(&lt;\u5143\u306e\u5024&gt;.toString()) \u3067\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>Double<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n\t<td class=\"s\">new&nbsp;Double((double)0.0)<\/td>\r\n\t<td colspan=\"2\" align=\"center\">\u540c\u4e0a<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>boolean[]<\/td>\r\n\t<td>1.4<\/td>\r\n\t<td class=\"s\">BooleanArray<br\/>Converter<\/td>\r\n\t<td class=\"s\">new boolean[0]<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">boolean \u3068\u540c\u3058\u30eb\u30fc\u30eb\u3067\u5909\u63db\u3055\u308c\u305f boolean \u914d\u5217<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>char[]<\/td>\r\n\t<td>1.4<\/td>\r\n\t<td class=\"s\">CharacterArray<br\/>Converter<\/td>\r\n\t<td class=\"s\">new char[0]<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">char \u3068\u540c\u3058\u30eb\u30fc\u30eb\u3067\u5909\u63db\u3055\u308c\u305f char \u914d\u5217\u3002\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>String[]<\/td>\r\n\t<td>1.4<\/td>\r\n\t<td class=\"s\">StringArray<br\/>Converter<\/td>\r\n\t<td class=\"s\">new String[0]<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\t\u5143\u306e\u5024\u304c int \u914d\u5217\u306a\u3089\u3070\u3001Integer.toString(&lt;\u5143\u306e\u5024\u306e\u5404\u8981\u7d20&gt;) \u3057\u3066\u4f5c\u6210\u3057\u305f\u914d\u5217\u3002<br\/>\r\n\t\t\u305d\u308c\u4ee5\u5916\u306f &lt;\u5143\u306e\u5024\u306e\u5404\u8981\u7d20&gt;.toString()) \u3057\u3066\u4f5c\u6210\u3057\u305f\u914d\u5217\u3067\u3001\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>byte[]<\/td>\r\n\t<td>1.4<\/td>\r\n\t<td class=\"s\">ByteArray<br\/>Converter<\/td>\r\n\t<td class=\"s\">new byte[0]<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">Byte.parseByte(&lt;\u5143\u306e\u5024\u306e\u5404\u8981\u7d20&gt;.toString()) \u3057\u3066\u4f5c\u6210\u3057\u305f\u914d\u5217\u3002 \u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>short[]<\/td>\r\n\t<td>1.4<\/td>\r\n\t<td class=\"s\">ShortArray<br\/>Converter<\/td>\r\n\t<td class=\"s\">new short[0]<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">Short.parseShort(&lt;\u5143\u306e\u5024\u306e\u5404\u8981\u7d20&gt;.toString()) \u3057\u3066\u4f5c\u6210\u3057\u305f\u914d\u5217\u3002 \u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>int[]<\/td>\r\n\t<td>1.4<\/td>\r\n\t<td class=\"s\">IntegerArray<br\/>Converter<\/td>\r\n\t<td class=\"s\">new int[0]<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">Integer.parseInt(&lt;\u5143\u306e\u5024\u306e\u5404\u8981\u7d20&gt;.toString()) \u3057\u3066\u4f5c\u6210\u3057\u305f\u914d\u5217\u3002 \u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>long[]<\/td>\r\n\t<td>1.4<\/td>\r\n\t<td class=\"s\">LongArray<br\/>Converter<\/td>\r\n\t<td class=\"s\">new long[0]<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">Long.parseLong(&lt;\u5143\u306e\u5024\u306e\u5404\u8981\u7d20&gt;.toString()) \u3057\u3066\u4f5c\u6210\u3057\u305f\u914d\u5217\u3002 \u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>float[]<\/td>\r\n\t<td>1.4<\/td>\r\n\t<td class=\"s\">FloatArray<br\/>Converter<\/td>\r\n\t<td class=\"s\">new float[0]<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">Float.parseFloat(&lt;\u5143\u306e\u5024\u306e\u5404\u8981\u7d20&gt;.toString()) \u3057\u3066\u4f5c\u6210\u3057\u305f\u914d\u5217\u3002 \u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>double[]<\/td>\r\n\t<td>1.4<\/td>\r\n\t<td class=\"s\">DoubleArray<br\/>Converter<\/td>\r\n\t<td class=\"s\">new double[0]<\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">Double.parseDouble(&lt;\u5143\u306e\u5024\u306e\u5404\u8981\u7d20&gt;.toString()) \u3057\u3066\u4f5c\u6210\u3057\u305f\u914d\u5217\u3002 \u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>BigDecimal<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">BigDecimal<br\/>Converter<\/td>\r\n\t<td>\u4f8b\u5916\u767a\u751f<span class=\"s\">(\u203b3)<\/span><\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">new BigDecimal(&lt;\u5143\u306e\u5024&gt;.toString())<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>BigInteger<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">BigInteger<br\/>Converter<\/td>\r\n\t<td>\u4f8b\u5916\u767a\u751f<span class=\"s\">(\u203b3)<\/span><\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">new BigInteger(&lt;\u5143\u306e\u5024&gt;.toString())<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>java.sql.<br\/>Date<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">SqlDate<br\/>Converter<\/td>\r\n\t<td>\u4f8b\u5916\u767a\u751f<span class=\"s\">(\u203b3)<\/span><\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\tjava.sql.Date#valueOf(&lt;\u5143\u306e\u5024&gt;.toString())\u3002\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>java.sql.<br\/>Time<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">SqlTime<br\/>Converter<\/td>\r\n\t<td>\u4f8b\u5916\u767a\u751f<span class=\"s\">(\u203b3)<\/span><\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\tjava.sql.Time#valueOf(&lt;\u5143\u306e\u5024&gt;.toString())\u3002\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>java.sql.<br\/>Timestamp<\/td>\r\n\t<td>1.3<\/td>\r\n\t<td class=\"s\">SqlTimestamp<br\/>Converter<\/td>\r\n\t<td>\u4f8b\u5916\u767a\u751f<span class=\"s\">(\u203b3)<\/span><\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\tjava.sql.Timestamp#valueOf(&lt;\u5143\u306e\u5024&gt;.toString())\u3002\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>Class<\/td>\r\n\t<td>1.4<\/td>\r\n\t<td class=\"s\">Class<br\/>Converter<\/td>\r\n\t<td>\u4f8b\u5916\u767a\u751f<span class=\"s\">(\u203b3)<\/span><\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\t\u73fe\u5728\u306e\u30b9\u30ec\u30c3\u30c9\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u3001\u307e\u305f\u306f ClassConverter&nbsp;\u30af\u30e9\u30b9\u306e\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u304b\u3089\r\n\t\tClassLoader#loadClass(&lt;\u5143\u306e\u5024&gt;.toString())\r\n\t\t\u3057\u305f\u5024\u3002\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>java.io.<br\/>File<\/td>\r\n\t<td>1.7<\/td>\r\n\t<td class=\"s\">File<br\/>Converter<\/td>\r\n\t<td>\u4f8b\u5916\u767a\u751f<span class=\"s\">(\u203b3)<\/span><\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td>\r\n\t\tnew&nbsp;File(&lt;\u5143\u306e\u5024&gt;.toString())\r\n\t<\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td>java.net.<br\/>URL<\/td>\r\n\t<td>1.7<\/td>\r\n\t<td class=\"s\">URL<br\/>Converter<\/td>\r\n\t<td>\u4f8b\u5916\u767a\u751f<span class=\"s\">(\u203b3)<\/span><\/td>\r\n\t<td>\u305d\u306e\u307e\u307e<\/td>\r\n\t<td class=\"s\">\r\n\t\tnew&nbsp;URL(&lt;\u5143\u306e\u5024&gt;.toString())\u3002\u4f8b\u5916\u767a\u751f\u6642\u306f null \u306e\u5834\u5408\u3068\u540c\u3058\u3002\r\n\t<\/td>\r\n<\/tr>\r\n<\/table>\r\n<div style=\"font-size: smaller\">\r\n\u203b1\u30b3\u30f3\u30d0\u30fc\u30bf\u30af\u30e9\u30b9\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u5168\u3066\r\norg.apache.commons.beanutils.converters<br\/>\r\n\u203b2 java.lang.Number \u306e\u30b5\u30d6\u30af\u30e9\u30b9\u306f BigDecimal,BigInteger,Byte,Double,Float,Integer,Long,Short<br\/>\r\n\u203b3 \u6295\u3052\u3089\u308c\u308b\u4f8b\u5916\u306f org.apache.commons.beanutils.ConversionException\r\n<\/div>\r\n\r\n<h3>BeanUtils \u3067\u30b3\u30f3\u30d0\u30fc\u30bf\u30fc\u304c\u4f7f\u7528\u3055\u308c\u308b\u624b\u9806<\/h3>\r\n<p>\r\n\u3067\u306f\u3001 java.util.Date \u578b \u2192 String \u578b \u3068\u5909\u63db\u3059\u308b\u969b\u3001\r\nBeanUtils#copyProperties(Object, Object) \u3067\u306f\u3069\u306e\u3088\u3046\u306a\u51e6\u7406\u3092\u884c\u3063\u3066\u3044\u308b\u306e\u3067\u3057\u3087\u3046\u304b\uff1f\r\n\u524d\u8ff0\u306e loginDate \u3068\u3044\u3046\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u30b3\u30d4\u30fc\u3059\u308b\u969b\u306e\u51e6\u7406\u3092\u4e0b\u8a18\u306b\u793a\u3057\u307e\u3059\u3002\r\n\uff08\u4e0b\u306e\u4f8b\u3067\u306f\u5b9f\u969b\u306e\u51e6\u7406\u5185\u5bb9\u3092\u5358\u7d14\u5316\u3057\u3066\u3044\u307e\u3059\u3002\uff09\r\n<\/p>\r\n<ol>\r\n\t<li>UserModel\uff08\u30b3\u30d4\u30fc\u5143\uff09#getLoginDate() \u306e\u5024\u3092\u53d6\u5f97<\/li>\r\n\t<li>UserForm\uff08\u30b3\u30d4\u30fc\u5148\uff09\u306e loginDate \u3068\u3044\u3046\u540d\u524d\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u95a2\u3059\u308b PropertyDescripter \u3092\u53d6\u5f97<\/li>\r\n\t<li>\u53d6\u5f97\u3057\u305f PropertyDescripter \u3067\u3001\u30b3\u30d4\u30fc\u5148\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u578b\uff08\u3053\u306e\u5834\u5408\u306f <strong>String<\/strong>\uff09\u3092\u53d6\u5f97<\/li>\r\n\t<li>\u53d6\u5f97\u3057\u305f\u578b\u306b\u5bfe\u5fdc\u3059\u308b\u30b3\u30f3\u30d0\u30fc\u30bf\u30fc\u3092 ConvertUtils \u304b\u3089\u53d6\u5f97\uff08\u3053\u306e\u5834\u5408\u306f StringConverter\uff09<\/li>\r\n\t<li>Converter#convert(Class, Object) \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066 1 \u3067\u53d6\u5f97\u3057\u305f\u5024\u3092\u5909\u63db<\/li>\r\n\t<li>\u5909\u63db\u6e08\u307f\u306e\u5024\u3092 UserForm\uff08\u30b3\u30d4\u30fc\u5148\uff09\u306e setter \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u8a2d\u5b9a<\/li>\r\n<\/ol>\r\n<p>\r\n\u3064\u307e\u308a\u3001 UserModel \u306e loginDate \u306f Date \u578b\u3067\u3059\u304c\u3001\u3053\u308c\u3092\u5909\u63db\u3059\u308b\u969b\u306b\u306f\u3001\r\nUserForm \u306e loginDate \u304c String \u3067\u3042\u308b\u70ba\u3001\r\n\u3042\u3089\u304b\u3058\u3081 ConvertUtils \u306b\u767b\u9332\u3055\u308c\u3066\u3044\u308b StringConverter \u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002\r\nStringConverter \u306e\u5b9f\u88c5\u306f\u3068\u3044\u3046\u3068\u2026\r\n<\/p>\r\n<pre class=\"code_list\">\r\npublic final class StringConverter implements Converter {\r\n\r\n    public Object convert(Class type, Object value) {\r\n        if (value == null) {\r\n            return ((String) null);\r\n        } else {\r\n            return (value.toString());\r\n        }\r\n    }\r\n}\r\n<\/pre>\r\n<p>\r\n\u2026\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\r\n\u7b2c\uff11\u5f15\u6570\u306e type \u306b\u306f\u3001\u3053\u306e\u5834\u5408\u3001\u5e38\u306b String.class \u3068\u3044\u3046\u5024\u304c\u6e21\u3055\u308c\u307e\u3059\u3002\r\n\u7b2c\uff12\u5f15\u6570\u306e value \u304c\u5909\u63db\u524d\u306e\u5024\u3067\u3001\r\n\u5b9f\u969b\u306b UserModel#getLoginDate() \u3067\u53d6\u5f97\u3057\u305f java.util.Date \u578b\u306e\u5024\u304c\u6e21\u3055\u308c\u307e\u3059\u3002\r\n\u3053\u308c\u3067 BeanUtils#copyProperties(Object, Object) \u3092\u4f7f\u7528\u3057\u305f\u969b\u306b\r\njava.util.Date#toString() \u306e\u5024\u304c\u30b3\u30d4\u30fc\u5148\u306b\u8a2d\u5b9a\u3055\u308c\u305f\u7406\u7531\u304c\u5206\u304b\u308a\u307e\u3057\u305f\u3002\r\n<\/p>\r\n\r\n<h3>\u72ec\u81ea\u306e\u30b3\u30f3\u30d0\u30fc\u30bf\u30fc\u3092\u4f5c\u6210\u30fb\u767b\u9332<\/h3>\r\n<p>\r\nBeanUtils \u304c\u30b3\u30f3\u30d0\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u4ed5\u7d44\u307f\u304c\u5206\u304b\u3063\u305f\u3068\u3053\u308d\u3067\u3001\r\nloginDate \u3092 &#8220;yyyy\/MM\/dd&nbsp;HH:mm:ss&#8221; \u5f62\u5f0f\u3067\u5909\u63db\u3067\u304d\u308b\u3088\u3046\u306b\u3001\r\n\u72ec\u81ea\u306e\u30b3\u30f3\u30d0\u30fc\u30bf\u30fc\u3092\u4f5c\u6210\u3057\u3066\u307f\u307e\u3059\u3002\r\n<\/p>\r\n<pre class=\"code_list\">\r\npublic final class CustomStringConverter implements Converter {\r\n\r\n    public Object convert(Class type, Object value) {\r\n        if (value == null) {\r\n            return ((String) null);\r\n        } else {\r\n            <span style=\"font-weight: bold;\">if (value instanceof java.util.Date) {<\/span>\r\n                <span style=\"font-weight: bold;\">SimpleDateFormat sdf = new SimpleDateFormat(\"yyyy\/MM\/dd HH:mm:ss\");<\/span>\r\n                <span style=\"font-weight: bold;\">return sdf.format((java.util.Date)value);<\/span>\r\n            <span style=\"font-weight: bold;\">}<\/span>\r\n            return (value.toString());\r\n        }\r\n    }\r\n}\r\n<\/pre>\r\n\u3053\u306e\u30b3\u30f3\u30d0\u30fc\u30bf\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001 ConvertUtils#register(Converter, Class) \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\r\n<pre class=\"code_list\">\r\n-+-+-+-+-+-+-+-+-+-+-\r\nMain.java\r\n-+-+-+-+-+-+-+-+-+-+-\r\npackage jp.javable.sample.beanutils;\r\n\r\nimport org.apache.commons.beanutils.BeanUtils;\r\nimport org.apache.commons.beanutils.ConvertUtils;\r\n\r\npublic class Main {\r\n\r\n    public static void main(String[] args) throws Exception {\r\n        \r\n        <strong>ConvertUtils.register(new CustomStringConverter(), String.class);<\/strong>\r\n        \r\n        UserModel model = new UserModel();\r\n        model.setName(\"\u6e9d\u53e3\");\r\n        model.setLoginDate(new java.util.Date());\r\n\r\n        UserForm form = new UserForm();\r\n        <strong>BeanUtils.copyProperties(form, model);<\/strong>\r\n\r\n        System.out.println(form);\r\n    }\r\n}\r\n<\/pre>\r\n<p>\r\n\u5b9f\u884c\u3057\u3066\u307f\u307e\u3059\u3002\r\n<\/p>\r\n<pre class=\"screen\">\r\nD:\\eclipse_workspace\\test> java -classpath bin;lib\\commons-beanutils.jar;\r\nlib\\commons-collections.jar;\r\nlib\\commons-logging.jar jp.javable.sample.beanutils.Main\r\n<span style=\"color:green\">\uff08\u2191\u5b9f\u969b\u306b\u306f\uff11\u884c\u3067\u3059\uff09<\/span>\r\n\r\njp.javable.sample.beanutils.UserForm@145d068[name=\u6e9d\u53e3,\r\n            loginDate=2005\/05\/20 23:24:12]\r\n<\/pre>\r\n<p>\r\n\u3061\u3083\u3093\u3068\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3055\u308c\u3066\u3044\u307e\u3057\u305f(T^T)\u3002[\r\n<a href=\"\/assets\/archives\/beanutils_sample02_src.zip\">\r\n\u30b5\u30f3\u30d7\u30eb\u30bd\u30fc\u30b9<\/a>\r\n]<br\/>\r\n<\/p>\r\n","protected":false},"excerpt":{"rendered":"BeanUtils \u3067 JavaBeans \u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u4e00\u6c17\u306b\u30b3\u30d4\u30fc\u3059\u308b \u3067\u4f5c\u6210\u3057\u305f\u30b5\u30f3\u30d7\u30eb\u3067\u306f\u3001 java.util.Date \u3092 String \u306b\u30b3\u30d4\u30fc\u3057\u305f\u6642\u306b &#8220;yyyy\/MM\/dd&nbsp;HH: [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-315","post","type-post","status-publish","format-standard","hentry","category-programming"],"_links":{"self":[{"href":"https:\/\/www.javable.jp\/blog\/wp-json\/wp\/v2\/posts\/315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javable.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javable.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javable.jp\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javable.jp\/blog\/wp-json\/wp\/v2\/comments?post=315"}],"version-history":[{"count":9,"href":"https:\/\/www.javable.jp\/blog\/wp-json\/wp\/v2\/posts\/315\/revisions"}],"predecessor-version":[{"id":1064,"href":"https:\/\/www.javable.jp\/blog\/wp-json\/wp\/v2\/posts\/315\/revisions\/1064"}],"wp:attachment":[{"href":"https:\/\/www.javable.jp\/blog\/wp-json\/wp\/v2\/media?parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javable.jp\/blog\/wp-json\/wp\/v2\/categories?post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javable.jp\/blog\/wp-json\/wp\/v2\/tags?post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}