首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有相同参数的多个构造函数

具有相同参数的多个构造函数
EN

Stack Overflow用户
提问于 2012-04-03 11:03:49
回答 1查看 918关注 0票数 0

我正在尝试设置一个构造函数,其中所使用的数据结构将由参数中的字符串确定::

代码语言:javascript
运行
复制
DictionaryI<IPAddress,String> ipD; //declaring main structure using interface

 // Constructor, the type of dictionary to use (hash, linkedlist, array)
 // and the initial size of the supporting dictionary
    public IPManager(String dictionaryType, int initialSize){
        if(st1.equals(dictionaryType))
            ipD = new LinkedListDictionary();
        if(st2.equals(dictionaryType))
            ipD = new HashDictionary(initialSize);
        if(st3.equals(dictionaryType))
            ipD = new ArrayDictionary(initialSize);
        else
            throw new UnsupportedOperationException();
    }

在运行代码时,无论我放入什么,我都会得到"UnsuportedOperationException“。任何帮助或在正确的方向上的一点都将非常感谢!(代码用Java编写)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-03 11:07:08

显而易见的答案是

代码语言:javascript
运行
复制
public IPManager(String dictionaryType, int initialSize){
    if(st1.equals(dictionaryType))
        ipD = new LinkedListDictionary();
    else if(st2.equals(dictionaryType))
        ipD = new HashDictionary(initialSize);
    else if(st3.equals(dictionaryType))
        ipD = new ArrayDictionary(initialSize);
    else
        throw new UnsupportedOperationException();
}

对于st1st2,您的代码将会落入throw

也就是说,这种方法通常是不好的。作为参考,请查看Java集合接口(例如Map<K,V>)及其实现(HashMapTreeMap等)。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9986567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档