推 LaPass: java 無解 02/19 19:49
推 haha02: 多吃一個Class<T>參數? 02/19 21:26
→ yyc1217: 試試看用.newInstance() 不過我覺得要用design pattern 02/20 00:06
→ yyc1217: 也就是你思考的解決方法換成某種design pattern來比較好 02/20 00:07
→ JeremyJoung: Class<T> T.newInstance() 測試過不行 02/20 02:31
→ ssccg: 要newInstance就要有Class參數,不知道類別怎麼知道new什麼 02/20 02:32
→ ssccg: 類別的空物件? 02/20 02:32
→ JeremyJoung: 我有帶入T作為參考 但是HashMap<>被視為interface 02/20 02:38
→ ssccg: 泛型沒有獨立的class,只能帶HashMap.class 02/20 02:43
→ ssccg: <T> T method(Class<? extends T> claz, T data) 02/20 02:45
→ ssccg: return data != null ? data : claz.newInstance(); 02/20 02:46
→ ssccg: 可以Map<String, Long> map = method(HashMap.class,null); 02/20 02:49
→ ssccg: 但其實設計成帶Supplier<T>,讓caller自己決定default較好 02/20 02:50