java:如何知道对象内部变量的类型?

标签 java variables

我有以下代码:

void testme(Object a) {
  # printing the type of the variable transferred to the function  
}

我如何知道传递给该函数的变量的类型?例如,如果用户执行以下函数,我如何知道差异:

Integer a=5;
testme(a);

String a="a";
testme(a);

一般来说,我正在构建一个通用函数来使用我的数据库,并且我需要使用 setLong/setInt/setString 取决于传输到函数的变量类型。

有什么想法吗?

谢谢

最佳答案

您可以使用instanceof和/或getClass。前者针对特定类进行测试,后者实际上为您提供参数的 Class 对象(String.class 等)。例如:

if (a instanceof String) {
    // ...
}
else if (a instanceof Integer) {
    // ...
}
// ...

但对于您的具体情况,您可能可以使用 PreparedStatement#setObject 的版本之一.

关于java:如何知道对象内部变量的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4584742/

相关文章:

java - 使用 Spring 应用程序配置日志

java - 此 URL 不支持 HTTP 方法 GET

python - 使用 python 设置 apache 服务器范围的变量

ruby - 使用字符串插值动态创建 Ruby 变量

java - 比较排行榜表上前几行的值,简单查询

Java静态 block 线程安全

java - JPA 和数据库在一个 jar 中

java - 最终变量赋值 : at declaration or in constructor?

C++ 使用类作为变量

java - 返回错误 int 值的变量