Hatena::¥Ö¥í¥°(Diary)

¥ × ¥ í ¥ ° ¥ é ¥ Þ¡¼ ¤ ÎǾ ¤ ß ¤ der l ¤³¤Î¥Ú¡¼¥¸¤ò¥¢¥ó¥Æ¥Ê¤ËÄɲà RSS¥Õ¥£¡¼¥É

2017-12-24

Java Generics Hell - new T ()

| 23:52 |  Java Generics Hell - new T()¤ò´Þ¤à¥Ö¥Ã¥¯¥Þ¡¼¥¯

Java Generics Hell ¥ ¢ ¥ É ¥ Ù ¥ ó ¥ È ¥ «¥ ì ¥ ó ¥ À¡¼ 24ÆüÌÜ¡£

ÆÉ¼Ô ¤ Î¿ä¾ © ¥ ¹ ¥ ¥ ë ¤ È ¤ · ¤ Æ ¤ ÏOCJP Silver ¤ ° ¤ é ¤ ¤ ¤ òÁÛÄê ¤ · ¤ Æ ¤ ¤ ¤ ë¡£

º£²ó ¤ ÏJava ¤ Î ¥ ¸ ¥ § ¥ Í ¥ ê ¥ ¯ ¥ ¹ ¤ Ç ¤ Ï·¿ÊÑ¿ôô ¤ òÍÑ ¤ ¤ ¤ Ænew T () ¤ Ç ¤ ¤ Ê ¤ ¤ ¤ ± ¤ ÉÆà ¤ ËÌäÂê ¤ Ê ¤ ¤ ¤ È ¤ ¤ ¤ ¦ Ïá£

¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ ηÁ

¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ Ï¡ ¢ ¤ der l ¤ ÎÆâÉô ¤ Çthis ¤ zu »È ¤ ¨ ¤ ë ¤ · ¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹ ¥ Õ ¥ nm ¥ ë ¥ É ¤ Ø ¤ Î ¥ ¢ ¥ ¯ ¥» ¥ ¹ ¤ ¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹¥ á ¥ der l ¥ à ¥ Éâ ¤ Ø ¤ Î ¥ ¢ ¥ ¯ ¥ »¥ ¹ ¤ â½ÐÍè ¤ ë¡£ ¤ der l ¤ ³ ¤« ¤ é ¤ ¹ ¤ ë ¤ È ¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹ ¥ ¹ ¥ ³¡¼ ¥ × ¤ Î ¥ á ¥ der l ¥ à ¥ É ¤ Î ¤ è ¤ ¦ ¤ Ë ¸«¤ ¨ ¤ ë ¤ ¬¡ ¢ ¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹ ¤ ˽ê° ¤ · ¤ Æ ¤ ¤ ¤ ë ¤ ï ¤ ± ¤ Ç ¤ Ï ¤ Ê ¤ ¤ ¡£


¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹¥ á ¥ der l ¥ à ¥ ɤ ò¸Æ ¤ ӽР¤ ¹ ¤ Ë ¤ Ï ¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹ ¤ ò »ØÄê ¤ ¹ ¤ ë ¤« ¡ ¢ m «Ê¬ ¤ Î ¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹ ¤ Î ¥ á ¥ der l ¥ à ¥ É¸Æ ¤ ӽР¤ · ¤ Çthis. ¤ ò¾Êά ¤ Ç ¤ ¤ ë¡ ¢ ¤ È ¤ ¤ ¤ ¦ ¥ · ¥ Á ¥ å ¥ ¨¡¼ ¥ · ¥ ç ¥ ó ¤ Ç ¤ Ê ¤ ¯ ¤ Æ ¤ Ï ¤ Ê ¤ é ¤ Ê ¤ ¤ ¡£µÕ ¤ ˸À ¤ ¨ ¤ ÐÄÌ¾ï ¤ Îclass ¤ Înew ¤ Ï ¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹ ¤ Ê ¤ · ¤ Ç¸Æ ¤ ӽР¤ »¤ ë ¤ ï ¤ ± ¤ Ç¡ ¢ ½ê° ¤ È ¤ · ¤ Æ ¤ Ïclass ¤ Îstatic ¤ ËÁêÅö ¤ ¹ ¤ ë¡£ ¥ ¯ ¥ é ¥ ¹ ̾ ¤ ò» ØÄê ¤ ¹ ¤ ëɬÍ× ¤ zu ¤ ¢ ¤ ë ¤ ¬¡ ¢ ¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹ ¤ ò »ØÄê ¤ ¹ ¤ ëɬÍ× ¤ Ï ¤ Ê ¤ ¤ ¡ ¢ ¤ È ¤ ¤ ¤ ¦ ÆÈÆà ¤ Î ¥ Ý ¥ ¸ ¥ · ¥ ç ¥ ó ¤ Ç ¤ ¢ ¤ ë¡£


¤ Ê ¤ Î ¤ Ç¡ ¢ ·Ñ¾µ ¤ òÍÑ ¤ ¤ ¤ Æinterface ¤ ä¿Æ ¥ ¯ ¥ é ¥ ¹ ¤ Ë ¤ è ¤ à ¤ Æ ¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ ΰú¿ô ¤ ηÁ ¤ òµ¬Äê ¤ ¹ ¤ ë ¤ ³ ¤ È ¤ ϽÐÍè ¤ Ê ¤ ¤ ¡£ÄÌ¾ï ¤ ηѾµ ¤ ÎÔ¿ ³° ¤ Ë ¤ ¤ ¤ ë ¤ ï ¤ ± ¤ Ç ¤ ¢ ¤ ë¡£ ¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ Ï ¥ ê ¥ ¹ ¥ ³ ¥ Õ ¤ ÎÃÖ ´ ¹ ¸ ¶Â§ ¤ ÎÈÏ°Ï ³° ¤ Ç¡ ¢ ¿Æ ¥ ¯ ¥ é ¥ ¹ ¤ Î ¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ ÈƱÍÍ ¤ Ë »Ò ¥ ¯ ¥ é ¥ ¹ ¤ Î ¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ ¬¸Æ ¤ Ù ¤ ëɬÍ× ¤ Ï ¤ Ê ¤ ¤ ¡£


¤ ³ ¤ ¦ ¤ · ¤ ¿Á°Äó ¤ òƧ ¤ Þ ¤ ¨ ¤ ë ¤ È¡ ¢ ·¿ÊÑ¿ô ¤ Î ¤ è ¤ ¦ ¤ ÊÇ ¤ °Õ ¤ η¿ ¤ ËÂÐ ¤ · ¤ Æ¡ ¢ Åý°ìŪ ¤ Ênew ¤ ò ¤ · ¤ und ¤ ¤ ¤ È ¤ ¤ ¤ ¦ ¤ Î ¤ ÏJava ¤ η¿ ¥ · ¥ ¹ ¥ Æ ¥ à ¤ ÎÈÏáÆ ¤ Ç ¹ Í ¤ ¨ ¤ ë ¤ È̵Íý ¤ Ç ¤ ¢ ¤ ë ¤ ·¡ ¢ ̵Ãã ¤ ÊÍ×µá ¤ ȸÀ ¤ ¨ ¤ ë¡£Java ¤ ¢ ¤ und ¤ ê ¤ ÎÀ ¤ Âå ¤ Î ¥ × ¥ í ¥ ° ¥ é ¥ à¸À¸ì ¤ Ç ¤ Ï ¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ ΰú¿ô ¤ zu ¤ É ¤ Î ¤ è ¤ ¦ ¤ Ê ¤ â ¤ Î ¤ «¡ ¢» ØÄê ¤ ¹ ¤ ë ¤ ³ ¤ È ¤ ¬½ÐÍè ¤ Ê ¤ ¤ ¤ ·¡ ¢ »ØÄê ¤ · ¤ und ¤ ± ¤ ì ¤ зѾµ ¤ ÎÈÏ°Ï ¤ òĶ ¤ ¨ ¤ ¿ÊÌ ¤ ¥ × ¥ í ¥ ° ¥ é ¥ ß ¥ ó ¥ °¥ Ñ ¥ é ¥ À ¥ ¤ ¥ àÎ ¤ ¬É¬Í× ¤ Ë ¤ Ê ¤ ë¡£


¥ Ç ¥ Õ ¥ © ¥ ë ¥ È¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und

¤ µ ¤ Æ¡ ¢ ¤ der l ¤ ó ¤ Ê ¤ ï ¤ ± ¤ ÇÈÆÍÑ ¤ Ë ¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ ηÁ¾õ ¤ òÄê ¤ á ¤ ë ¤ È ¤ ¤ ¤ ¦ ¤ Î ¤ Ï̵Íý ¤ Ç¡ ¢ ¤ É ¤ ¦ ¤ · ¤ Æ ¤ â ¤ ä ¤ ê ¤ und ¤ ± ¤ ì ¤ С ¢ ¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹ ¤ òÀ¸À® ¤ ¹ ¤ ë ¥ ¯ ¥ é ¥ ¹ ¤ È ¤ ¤ ¤ ¦ ¤ â ¤ Î ¤ òÍÑ°Õ ¤ ¹ ¤ ë ¤ È ¤ ¤ ¤ ¦ ±ª±ó ¤ Ê ¤ ä ¤ êÊý ¤ ò ¤ ¹ ¤ ëɬÍ× ¤ zu ¤ ¢ ¤ ë¡£±ª±ó ¤ È ¤ ¤ ¤ ¦ ¤ «ÌÌÅÝ ¤ ¯ ¤ µ ¤ ¤ ¤ ï ¤ ± ¤ À ¤ ¬¡ ¢ ¤ ³ ¤ ¦ ¤ · ¤ ¿À¸À® ¤ ò ¹ Ô ¤ ¦ ¥ ¯ ¥ é ¥ ¹ ¤ òÊÌÅÓÍÑ°Õ ¤ ¹ ¤ ë¡Ê ¥ Ó ¥ ë ¥ À¡¼ ¥ ¯ ¥ é ¥ ¹ ¤ È ¤« ¥ Õ ¥ ¡ ¥ ¯ ¥ È ¥ ꡼ ¥ ¯ ¥ é ¥ ¹ ¤ È ¤ ¤ ¤ ¦ ¸Æ ¤ Ð ¤ ìÊý ¤ ò ¤ ¹ ¤ ë¡Ë ¤ ³ ¤ È ¤ ÇÂÐ½è ¤ Ç ¤ ¤ ë ¤ È ¤ ¤ ¤ ¨ ¤ нÐÍè ¤ ëÌäÂê ¤ Ç ¤ ¢ ¤ ë¡£ ¤ ¤ ¤ ï ¤ æ ¤ ë ¥ Ü ¥ ¤ ¥ 顼 ¥ × ¥ 졼 ¥ È ¤ È ¤ ¤ ¤ ¦ ¤ ä ¤ Ä ¤ Ç¡ ¢ Äê·¿¶ç ¤ zu ¤ ï ¤ µ ¤ ï ¤ µ½Ð ¤ Æ ¤ ¤ ÆÈÑ ¤ ï ¤ · ¤ ¤ ¤ È ¤ ¤ ¤ ¦ Ïà ¤ Ï ¤ ¢ ¤ ë ¤ Ë ¤ »¤ è¡ ¢ ¤ À¡£


¤ · ¤ «¤ ·¡ ¢ ÆÃÄê ¤ Î ¥ · ¥ Á ¥ å ¥ ¨¡¼ ¥ · ¥ ç ¥ ó ¤ Ç ¤ Ï·è ¤ Þ ¤ à ¤ und ¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ η¿ ¤ ò ¤ · ¤ Æ ¤ ¤ ¤ ë ¤ È ¤ ¤ ¤ ¦ Á°Äó ¤ òÃÖ ¤ ¯ ¤ ³ ¤ È ¤ ¬¡ ¢ ¤ ¢ ¤ ëÄøÅÙÂÅÅöÀ ¤ ò» ý ¤ Ä ¤ ³ ¤ È ¤ zu ¤ ¢ ¤ ë¡£¥ Ç ¥ Õ ¥ © ¥ ë ¥ È¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ Ç ¤ ¢ ¤ ë¡£

¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹ ¤ ÎÀ¸À® ¤ ò ¹ Ô ¤ ¦ ¥ á ¥ der l ¥ à ¥ É

¥ Ç ¥ Õ ¥ © ¥ ë ¥ È¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und¤ È ¤ ÏÍ× ¤ ¹ ¤ ë ¤ Ë°ú¿ôô ¤ Ê ¤ · ¤ Î ¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ Ç¡ ¢ ñ ¤ Ê ¤ ë ¥ Ç¡¼ ¥ und ¤ òÊÝ »ý ¤ ¹ ¤ ë ¤ è ¤ ¦ ¤ Ê ¥ ¯ ¥ é ¥ ¹ ¤ Î¾ì ¹ ç¡ ¢ ³µ ¤ ¥ Ç ¥ Õ ¥ © ¥ ë ¥ È¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ undÍ ¤ ò» ý ¤ Ä ¤ È ¤ ¤ ¤ ¦ Á°Äó ¤ òÁÛÄê ¤ · ¤ Æ ¤ è ¤ ¤ ¥ ±¡¼ ¥ ¹ ¤ zu ¤ ¢ ¤ ë¡£Îã ¤ ¨ ¤ ÐO/R ¥ Þ ¥ à ¥ Ñ¡¼ ¤ Î ¤ è ¤ ¦ ¤ Ê ¥ ±¡¼ ¥ ¹ ¤ Ç¡ ¢ ½êÄê ¤ η¿ ¤ ¥ Ç ¥ Õ ¥ © ¥ ë ¥ È¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ undÎ ¤ Ç ¥ ¤ ¥ ó ¥ ¹ ¥ und ¥ ó ¥ ¹ ¤ òºî ¤ à ¤ Æ ¥ ê ¥ Õ ¥ ì ¥ ¯ ¥ · ¥ ç ¥ ó ¤ Ç ¥ Ç¡¼ ¥ und ¤ òµÍ ¤ á ¤ ÆÊÖ ¤ · ¤ und ¤ ¤ ¡ ¢ ¤ der l ¤ Î ¥ á ¥ der l ¥ à ¥ É ¤ zu ¥ ¸ ¥ § ¥ Í ¥ ê ¥ ¯ ¥ ¹ ¤ Ƕñ¾Ý·¿ ¤ ò »ØÄê ¤ · ¤ und ¤ ¤ ¡ ¢ ¤ È ¤ ¤ ¤ ¦ ¤ ï ¤ ± ¤ Ç ¤ ¢ ¤ ë¡£

public class ORMapper {
 public <T> T select(String query) { ... } // ¤³¤ì¤Ç¤ÏÀ¸À®¤Ç¤­¤Ê¤¤
}

¤ ³ ¤ Î¾ì ¹ ç¡ ¢ Java ¤ Ç ¤ ä ¤ ë ¤ Ê ¤ éÀè ¤ Ëµó ¤ ² ¤ und ¤ è ¤ ¦ ¤ Ë ¥ Ó ¥ ë ¥ À¡¼ ¥ ¯ ¥ é ¥ ¹ ¤ ò »È ¤ ¦ ɬÍ× ¤ zu ¤ ¢ ¤ ë¡£ ¤ der l ¤ · ¤ Æ¡ ¢ Java8°Ê ¹ ß ¤ òÁ°Äó ¤ È ¤ ¹ ¤ ë ¤ Ê ¤ é ¤ С ¢ ¥ Ó ¥ ë ¥ À¡¼ ¥ ¯ ¥ é ¥ ¹ ¤ Ï ¥ é ¥ à ¥ À¼° ¤ Ê ¤ ¤ ¤ · ¥ á ¥ der l ¥ à ¥ É» ² ¾È ¤ Ç ¤ è ¤ ¤ ¡£°ú¿ô ¤ Ëjava.util.function. Supplier <T> ¤ òÍÑ ¤ ¤ ¤ è ¤ ¦ ¡£

public class ORMapper {
 public <T> T select(Supplier<T> builder, String query) {
  T ret = builder.get();
  // (ά) µÍ¤á¹þ¤à½èÍý
  return ret;
 }
}

¤ ³ ¤ ¦ ¤ · ¤ ¿¾ì ¹ ç¡ ¢ ¸Æ ¤ ӽР¤ ·Â ¦ ¤ Ï

ORMapper mapper = new ORMapper();
Hoge hoge = mapper.select(Hoge::new, "select * from hoge");

¤ È ¤ ¤ ¤ à ¤ ¿¶ñ ¹ ç ¤ Ç ¤ ¢ ¤ ë¡£º£¸å ¤ ÎJava ¤ Î ¥ ê ¥ ꡼ ¥ ¹ ¤ ÊÑ¿ôÀë¸ÀÇ »þ ¤ η¿¿äÏÀ ¤ ÎƳÆþ ¤ ¬¸¡Æ ¤ ¤ µ ¤ ì ¤ Æ ¤ ¤ ¤ ë¡£ ¤ der l ¤ ì ¤ ¬Æ³Æþ ¤ µ ¤ ì ¤ ë ¤ ȼ¡ ¤ Î ¤ è ¤ ¦ ¤ ˽ñ ¤ ± ¤ ë ¤ è ¤ ¦ ¤ Ë ¤ Ê ¤ ë ¤ À ¤ í ¤ ¦ ¡£

ORMapper mapper = new ORMapper();
var hoge = mapper.select(Hoge::new, "select * from hoge");

C# ¤ Î¾ì ¹ ç

¤ µ ¤ Æ¡ ¢ °ú ¤ ¹ ç ¤ ¤ ¤ Ë ¤ è ¤ ¯½Ð ¤ µ ¤ ì ¤ ëC# ¤ Ç ¤ ϼ ¹ Ô »þ ¤ Ë ¥ Ð ¥ ¤ ¥ ó ¥ É ¤ µ ¤ ì ¤ ¿·¿ÊÑ¿ô ¤ η¿ ¤ ¬°ú ¤ ²ó ¤ µ ¤ ì ¤ ë¡£ ¤ der l ¤ · ¤ Æ¡ ¢ newÀ © Ìó ¤ È ¤ ¤ ¤ ¦ ¥ Ç ¥ Õ ¥ © ¥ ë ¥ È¥ ³ ¥ ó ¥ ¹ ¥ È ¥ é ¥ ¯ ¥ und ¤ ò» ý ¤ Ä ¤ ³ ¤ È ¤ ò·¿ÊÑ¿ôô ¤ ÎÀ © Ìó ¤ È ¤ ¹ ¤ ëÆü쵡ǽ ¤ ò »È ¤ à ¤ Æ¡Ê·¿ ¥ ¯ ¥ é ¥ ¹ ¤ Î ¤ è ¤ ¦ ¤ ÊÈÆÍѵ¡Ç½ ¤ Ç ¤ Ï ¤ Ê ¤ ¤ ¤ Î ¤ DzáÅÏ´ü ¤ ÎÂнèË¡ ¤ À ¤ È» × ¤ à ¤ Æ ¤ ª ¤ ¤ ¤ ¿Êý ¤ ¬ÎÉ ¤ ¤ ¤ È »× ¤ ¦ ¡Ë·¿ÊÑ¿ô ¤ Ç ¤ Înew ¤ ò¼Â¸½ ¤ · ¤ Æ ¤ ¤ ¤ ë¡£

https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/new-constraint

class ItemFactory<T> where T : new()
{
    public T GetNewItem()
    {
        return new T();
    }
}

¤ ³ ¤ ³ ¤ Ç ¤ µ ¤ Ã ¤ ¤ ÎJava ¤ ÎORMapper ¤ ÎÎã ¤ òC# ¤ Ë ¤ · ¤ Æ ¤ ß ¤ ë ¤ È

public class ORMapper {
 public T Select<T>(String query) where T : new()
 {
  T ret = new T();
  // (ά) µÍ¤á¹þ¤à½èÍý
  return ret;
 }  
}

¤ È ¤ ¤ ¤ à ¤ ¿·Á ¤ Ë ¤ Ê ¤ ë ¤ À ¤ í ¤ ¦ ¡ÊÉ®¼Ô ¤ ÏC# ¤ ÏÉÔ°ÆÆâ ¤ Ê ¤ Î ¤ Ç¸í ¤ ê ¤ zu ¤ ¢ ¤ ì ¤ Ð ¤ ´ »ØÅ ¦ ´ ê ¤ ¤ ¤ und ¤ ¤ ¡Ë

¤ ³ ¤ Î »þ¡ ¢ ¸Æ ¤ ӽР¤ ·Â ¦ ¤ Ï

ORMapper mapper = new ORMapper();
var hoge = mapper.select<Hoge>("select * from hoge");

¤ È ¤ ¤ ¤ Ã ¤ ¿·Á ¤ Ë ¤ Ê ¤ ë ¤ À ¤ í ¤ ¦ ¡£

JavaÈÇ¡ÊÑ¿ôÀë¸ÀÊ »þ ¤ η¿¿äÏÀ ¤ ¢ ¤ ê¡Ë ¤ ÈÈæ³Ó ¤ · ¤ Æ ¤ ß ¤ è ¤ ¦ ¡£

ORMapper mapper = new ORMapper();
var hoge = mapper.select(Hoge::new, "select * from hoge");

°ã ¤ ¤ ¤ È ¤ · ¤ Æ ¤ Ï¡ ¢ C# ¦ ¤ Ç ¤ Ï ¥ á ¥ der l ¥ à ¥ É ¥ ¹ ¥ ³¡¼ ¥ × ¤ η¿ÊÑ¿ôô ¤ ËÂÐ ¤ ¹ ¤ ë ¥ Ð ¥ ¤ ¥ ó ¥ É ¤ òÌÀµ ¤ ¹ ¤ ëɬÍ× ¤ zu ¤ ¢ ¤ ê¡ ¢ Âå ¤ ï ¤ ê ¤ ËnewÀ © Ìó ¤ ò »È ¤ ¦ ¤ Î ¤ Ç°ú¿ôô ¤ Ë ¥ Ó ¥ ë ¥ À¡¼ ¥ ¯ ¥ é ¥ ¹ ¤ ò¼è ¤ é ¤ Ê ¤ ¯ ¤ ÆÎÉ ¤ ¤ ¡£Java ¦ ¤ Ç ¤ Ï ¥ á ¥ der l ¥ à ¥ É ¥ ¹ ¥ ³¡¼ ¥ × ¤ η¿ÊÑ¿ô ¤ Ï·¿¿äÏÀ ¤ ÇºÑ ¤ Þ ¤» ¤ ëÂå ¤ ï ¤ ê ¤ ËnewÀ © Ìó ¤ zu ¤ Ê ¤ ¤ ¤ und ¤ á°ú¿ô ¤ ËHoge:: new ¤ òÅÏ ¤ ¹ ɬÍ× ¤ zu ¤ ¢ ¤ ë¡£³µ ¤ Í¡ ¢ Hoge ¤ ΰÌÃÖ ¤ ¬ÊÑ ¤ ï ¤ ëÄøÅÙ ¤ ÇÂçº ¹ ¤ zu ¤ Ê ¤ ¤ ¡£

¤ Þ ¤ È ¤ á

  • newÀ © Ìó ¤ ¬ÊØÍø ¤ Ë ¸«¤ ¨ ¤ ë ¤ ¬¡ ¢ ¸À ¤ ¦ ¤ Û ¤ É·àŪ ¤ ÊÍøÊØÀ ¤ ¬ÆÀ ¤ é ¤ ì ¤ ë ¤ ï ¤ ± ¤ Ç ¤ â ¤ Ê ¤ ¤
  • Java ¤ ÇnewÀ © Ìó ¤ ÎÂå ¤ ï ¤ ê ¤ ËT ¤ «¤ é¼Â ¹ Ô» þ ¤ η¿ ¤ ò ¤ È ¤ à ¤ Æ ¥ ê ¥ Õ ¥ ì ¥ ¯ ¥ · ¥ ç ¥ ó ¤ ÇnewInstance () ¤ · ¤ è ¤ ¦ ¤ È ¤ ¤ ¤ ¦ ¤ Î ¤ Ï¶Ú ¤ ΰ ¤ ¤ ¥ ¢ ¥ × ¥ í¡¼ ¥ Á
  • ¶Ú ¤ ΰ ¤ ¤ ¥ ¢ ¥ × ¥ í¡¼ ¥ Á ¤ ò ¤ · ¤ è ¤ ¦ ¤ È ¤ · ¤ ƽÐÍè ¤ Ê ¤ ¤ ¤ «¤ é ¤ È ¤ ¤ ¤ à ¤ Æ ¥ ¤ ¥ ì ¥ ¤ ¥ ¸ ¥ ã ¤ ËȬ ¤ ÄÅö ¤ und ¤ ê ¤ ¹ ¤ ë ¤ Î ¤ Ï ¸« Åö°ã ¤ ¤ ¤ Ç ¤ Ï ¤ Ê ¤ ¤ ¤«

¥ ¤ ¥ ì ¥ ¤ ¥ ¸ ¥ ã ¤ Î ¤ »¤ ¤ ¤ Ë ¤ ¹ ¤ ë¸ÀÀâ ¤ â ¤ · ¤ Ð ¤ · ¤ Ð ¸« ¤ «¤ ± ¤ ë ¤ ¬¡ ¢ ¤ ¤ ¤ µ ¤ µ ¤«¸«Åö°ã ¤ ¤ ¤ ȸÀ ¤ ¨ ¤ ë ¤ À ¤ í ¤ ¦ ¡£²¿ ¤ òÌäÂê» ë ¤ · ¤ Æ ¤ ¤ ¤ ë ¤ «ÎäÀÅ ¤ ˸¡Æ ¤ ¤ · ¤ und ¤ ¤ ¤ È ¤ ³ ¤ í ¤ À¡£

¥ È ¥ é ¥ Ã ¥ ¯ ¥ Ð ¥ Ã ¥ ¯ - http://d.hatena.ne.jp/Nagise/20171224/1514127133