public void getClass(Object mobileOrAccount){
System.out.println(mobileOrAccount.getClass().getName());
System.out.println(mobileOrAccount instanceof Integer);
前端传递过来的参数使用Object接收如何判断参数类型
使用postman发送请求
为什么会变成String不是Integer
你不知道传过来的参数类型 与结构? 只能用instanceof验证了
Object param = params.get(i);
if (param instanceof Integer) {
int value = ((Integer) param).intValue();
prepStatement.setInt(i + 1, value);
} else if (param instanceof String) {
String s = (String) param;
prepStatement.setString(i + 1, s);
} else if (param instanceof Double) {
double d = ((Double) param).doubleValue();
prepStatement.setDouble(i + 1, d);
} else if (param instanceof Float) {
float f = ((Float) param).floatValue();
prepStatement.setFloat(i + 1, f);
} else if (param instanceof Long) {
long l = ((Long) param).longValue();
prepStatement.setLong(i + 1, l);
} else if (param instanceof Boolean) {
boolean b = ((Boolean) param).booleanValue();
prepStatement.setBoolean(i + 1, b);
} else if (param instanceof Date) {
Date d = (Date) param;
prepStatement.setDate(i + 1, (Date) param);
}
你这个情况,我建议你换一种思路,一般我们接受参数,用对象接收最好了,比如DTO对象,这种的话既清楚类型,还方便阅读,何乐不为??这也是标准的前后端分离开发模式,Object个人不建议使用,因为哪怕你这次记得了,下次呢?别人接手呢??这个对代码的编写也带来了更大的风险。