【问题标题】:How do I write instances of the different typical Java classes?如何编写不同典型 Java 类的实例?
【发布时间】:2016-02-27 05:48:26
【问题描述】:

为令人困惑的标题道歉。我没有使用 Java 的经验,所以我缺乏正确的术语。基本上,我试图在 Java 类型(即Class)和 JDBC 类型(作为字符串)之间创建一个映射。所以我想做这样的事情:

private static final Map<Class, String> javaToJdbcTypeMap;
static
{
    javaToJdbcTypeMap = new HashMap<Class, String>();
    javaToJdbcTypeMap.put(String, "varchar");
    javaToJdbcTypeMap.put(Integer, "int");
    //etc for other common Java types
}

但是,String 和 Integer 给我带来了问题。 Intellij 告诉我“预期表达”。我尝试了"".getClass(),而不是String,它确实有效,但我觉得这是一种可怕的风格,应该有一种直接的方式来做到这一点。

【问题讨论】:

    标签: java class types


    【解决方案1】:

    Mapping of JDBC Types to Java Types 应该会有所帮助。你也可以添加“.class”来获得像javaToJdbcTypeMap.put(String.class, "varchar");这样的类而且,从Java 7开始,你可能会使用Diamond Operator &lt;&gt;这样的

    javaToJdbcTypeMap = new HashMap<>();
    javaToJdbcTypeMap.put(String.class, "varchar");
    javaToJdbcTypeMap.put(Integer.class, "int");
    

    【讨论】:

    • 嗯,这就是我想要的。我知道这是显而易见的。谢谢你的链接——这是我现在使用的参考:)
    • @Drew 有other mappings,如果找不到现有的映射,你可以实现你所需要的。
    • 干杯,我实际上正在使用 Amazon Redshift,因为他们专注于数据仓库优化,所以他们支持 limited amount of datatypes,所以我应该没问题 - 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    • 2018-08-06
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多