怎样在JAVA寫一個含未知類的參數的方法

 沉沉浮浮触涙水 发布于 2022-10-26 10:24
private String getMainTitle(List 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 bs){    
    return getMainTitle(bs);
}

請問怎样在JAVA寫一個含未知類的參數的方法?

希望寫一個方法能替代getTitleFromString和getTitleFromList , 比如:

public String getTitleFromList(T t){    
    return getMainTitle(t);
}

但我的語法有誤, 請問該怎样改寫?

4 个回答
  • // Object...objs相当一个Object[]数组,用来当做参数,表示有未知个参数传入,甚至可以不传参!
    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);
    }
    2022-10-27 00:54 回答
  • 这样可行

    private <T> T getMainTitle(T t){
        if (t.equals("GOOD")){
            return (T)"string";
        }
    
        return null;
    }
    
    public <T> T getTitleFromString(T t){
        return getMainTitle(t);
    }
    2022-10-27 00:54 回答
  • 
       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);
        }
    2022-10-27 00:55 回答
  • 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;
    }
    2022-10-27 00:55 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有