怎樣在JAVA寫(xiě)一個(gè)含未知類的參數(shù)的方法
問(wèn)題描述
private String getMainTitle(List<String> bs){ for(String b:bs){if (b.equals('GOOD'){ return 'string';} }return null;}private String getMainTitle(String b){ if (b.equals('GOOD'){return 'string'; }return null;}public String getTitleFromString(String b){ return getMainTitle(b);}public String getTitleFromList(List<String> bs){return getMainTitle(bs);}
請(qǐng)問(wèn)怎樣在JAVA寫(xiě)一個(gè)含未知類的參數(shù)的方法?
希望寫(xiě)一個(gè)方法能替代getTitleFromString和getTitleFromList , 比如:
public String getTitleFromList(T<?> t){return getMainTitle(t);}
但我的語(yǔ)法有誤, 請(qǐng)問(wèn)該怎樣改寫(xiě)?
問(wèn)題解答
回答1:public String <T> getMainTitle(T obj){ if(Map.class.isAssignableFrom(obj.getClass())){((Map<?, ?>) data).forEach((k, v) -> { if (v.equals('GOOD')) {return 'string'; } });} else if(Vector.class.isAssignableFrom(obj.getClass())){for(String b:bs){ if (b.equals('GOOD')) {return 'string'; }} } else if ( b.equals('GOOD') ){return 'string'; } return null;}回答2:
private String getMainTitle(List<String> bs){for(String b:bs){ if (b.equals('GOOD')) {return 'string'; }}return null; } private String getMainTitle(String b){if (b.equals('GOOD')) { return 'string';}return null; } public String getTitleFrom(String b){return getMainTitle(b); } public String getTitleFrom(List<String> bs){return getMainTitle(bs); }回答3:
這樣可行
private <T> T getMainTitle(T t){ if (t.equals('GOOD')){return (T)'string'; } return null;}public <T> T getTitleFromString(T t){ return getMainTitle(t);}回答4:
// Object...objs相當(dāng)一個(gè)Object[]數(shù)組,用來(lái)當(dāng)做參數(shù),表示有未知個(gè)參數(shù)傳入,甚至可以不傳參!public String getMainTitle(Object...objs) { for (Object obj : objs) { if(obj.toString().equals('GOOD')){ return 'string'; } } return null;}// 使用public void static main(String[] args) { getMainTitle(); getMainTitle('sdfds', 'Goods', 'GOOD'); getMainTitle(true, 'GOOD'); getMainTitle(111,1111);}
相關(guān)文章:
1. 怎么在網(wǎng)頁(yè)中設(shè)置圖片進(jìn)行左右滑動(dòng)2. node.js - mysql如何通過(guò)knex查詢今天和七天內(nèi)的匯總數(shù)據(jù)3. mysql 插入數(shù)值到特定的列一直失敗4. mysql 怎么做到update只更新一行數(shù)據(jù)?5. python - 在使用Pycharm時(shí)經(jīng)常看到如下的樣式,小括號(hào)里紅色的部分是什么意思呢?6. javascript - 新浪微博網(wǎng)頁(yè)版的字?jǐn)?shù)限制是怎么做的7. python2.7 - python 函數(shù)或者類 代碼的執(zhí)行順序8. 360瀏覽器與IE瀏覽器有何區(qū)別???9. javascript - 用jsonp抓取qq音樂(lè)總是說(shuō)回調(diào)函數(shù)沒(méi)有定義10. sublime可以用其他編譯器替換嗎?
