首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Map接收参数,Long类型降级为Integer,报类型转换异常

前言 今天看群里小伙伴问了一个非常有意思的问题: 使用 Map 对象接收前端传递的参数,在后端取参,因为接口文档中明确该字段类型为 Long ,所以对接收的参数进行了强...,即 (Long)参数 ,但是却发生了类型转换异常,报错信息如下: class java.lang.Integer cannot be cast to class java.lang.Long (java.lang.Integer...Long 强的话会报 java.lang.Long cannot be cast to java.lang.Integer 异常,至此问题就还原出来了。...强的一些条件: 低阶高阶可以直接; 高阶低阶需要强制转换,否则报错; 强 null 值报错; 包装类型数据不支持直接跨类型强; 其实报错的原因就是这最后一条,包装类型是不支持直接跨类型强的...,比如,你可以使用 Integer 跟 int 的直接转换,但是你不能将 Integer 直接强转成 Long 类型,或者 Long 类型强 Integer ,这样都是报错的。

4K40
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换

一、概述 使用Java JDBC,你是否有过这样的疑问:MySQL里的数据类型到底该选择哪种Java类型与之对应?本篇将为你揭开这个答案。...UNSIGNED or not) INT,INTEGER[(M)] [UNSIGNED] INTEGER [UNSIGNED] java.lang.Integer, if UNSIGNED java.lang.Long...SET(‘value1′,’value2’,…) CHAR java.lang.String 三、类型转换 上面我们看到MySQL的BIGINT默认转为Javajava.lang.Long,那是不是就不能转为...一般来说,任何字段类型都可以转换为java.lang.String,任何数值字段类型都可以转换为Java的数据类型(当然会出现四舍五入、溢出、精度丢失的问题)。..., SMALLINT, MEDIUMINT, INTEGER, BIGINT java.lang.String, java.lang.Short, java.lang.Integer, java.lang.Long

3.9K10

Java 之数据类型

java.lang.Short  int                          java.lang.Integer  long                         java.lang.Long...通过调用String类的valueOf()方法既可将包装类型数据转换为字符串,也可以将基本数据类型或字面常数转换为字符串,另外,转换其他引用类型对象,等价于调用该对象toString()方法。..., 不能将C类型强制转换为B类型 如果声明了一个父类型的变量,但使其引用子类对象,在编译Java编译器是根据变量被显示声明的类型去编译,因此该变量的类型被看作父类类型,所以将其进行强制类型转换并赋给引用了另一个子类对象的变量...但在运行时将抛出java.lang.ClassCastException异常,因为这个变量实际引用的是子类对象,两个子类属于不同的类型,也没有继承关系,所以不能将一个子类强制转换为另一个子类。...异常 对于引用类型中的数组引用类型,任何的两个不同类型的数组间不能进行类型的转换,但可以将数组转换为java.lang.Object类。

96430

【后端】ObjectString的4种方法

或者int 先将 Object 类型转换为 string,再将 string 转换为 long/int ---- 【1/4】Object.toString() ①object不能为null,否则会报nullpointexception...,只能看库或者扒值的时候才发现有问题,所以多数时候我还是用的toString() String.valueOf()方法本质是使用的obj.toString(),对于可能存在的空指针异常进行了判断规避。...但是转换的”null”可能会对我们的业务进行干扰,使用这个方法的时候需要先判断结果是否为null再进行转换,当然如果没有业务允许也可以不进行判断。...要是转为String的时候,如果字符串的内容是数字的话,这样就会报强异常 指路 : 【异常】java.lang.Integer cannot be cast to java.lang.String_HolaOrange...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.8K20

Java数组 强制类型转换

class java.lang.String class java.lang.String class java.lang.Integer   根据实验,一开始就声明为String数组,可以需要自动转为...但是,如果一开始就声明为Object数组,那么,即便这个数组中存放的全部是String对象,也是不能换为String数组的!!! 数组类型转换的问题为什么会出现在我脑海中?...: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;提示不能将String数组强转为Object数组,这是为什么呢???...而且这个Object数组为什么不能强转成String数组呢?我自己用String数组转换成Object数组之后,是可以转回String数组的呀,为什么这里就不回去,而且报错了呢??????...虽然我不清楚它做了什么,但是有两点可以确定: 源代码既然的时候没有报错,说明该方法的返回的实际对象一定是T子类的数组。而T类型是什么呢?

1.8K40

JSON 反序列化 Long 变 Integer 或 Double 问题

,value=1,valueClass=class java.lang.Integer key:aLong,value=2,valueClass=class java.lang.Integer aLong...aLong":9223372036854775807} --- fastjson ----- key:aLong,value=9223372036854775807,valueClass=class java.lang.Long...=class java.lang.Long 我们大致了解到, fastjson 和 jackson 默认情况下整数类型优先选取 Integer ,超过 Integer 范围再选择 Long ,以此类推。...三、如何解决 3.1 慎对 Map 序列化 如工作中发送MQ 消息很多人图方便,不想定义POJO 对象,因为这样通常需要打包比较麻烦,就将要传输给其他系统的数据定义为 Map 类型,下游再根据 key...fastjson ,如果值小于整数最大值,反序列化为 Integer 类型,强必然会报错)。

3.3K30

Java基础(三)基本数据类型

Java 常量 常量程序运行时是不能被修改的。... Java使用 final 关键字来修饰常量,声明方式和变量类似: finaldouble PI =3.1415927; 虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。...不能对boolean类型进行类型转换。 2. 不能把对象类型转换成不相关类的对象。 3. 把容量大的类型转换为容量小的类型必须使用强制类型转换。 4....转换过程中可能导致溢出或损失精度,例如: int i =128; byte b =(byte)i; 因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型,值 128...浮点型不存在这种情况,因为定义 float 类型必须在数字后面跟上 F 或者 f。 自:http://www.runoob.com/java/java-basic-datatypes.html

57160

List 的10个坑,保证你一定遇到过!

今天,我们主要来说一说List操作实际使用中有哪些坑,以及面对这些坑的时候我们要怎么解决。...Arrays.asList转换基本类型数组的坑 实际的业务开发中,我们通常会进行数组List的操作,通常我们会使用Arrays.asList来进行转换 但是转换基本类型的数组的时候,却出现转换的结果和我们想象的不一致...,否则会抛出ClassCastException异常,即java.util.RandomAccesSubList cannot be cast to java. util.ArrayList....所以使用该迭代器元素,其他线程对该lsit操作是不可见的,因为操作的是两个不同的数组所以造成弱一致性。...使用的过程中,需要更加充分的考虑避免这些隐患的发生。

50220

Java8新特性】知识点总结,你都会了吗?

写在前面 冰河,你可以给我讲讲Java8新特性的知识点吗?可以啊,没问题。这不,Java8新特性的知识点来了!...Java7与Java8中的HashMap JDK7 HashMap结构为数组+链表(发生元素碰撞,会将新元素添加到链表开头) JDK8 HashMap结构为数组+链表+红黑树(发生元素碰撞,会将新元素添加到链表末尾...collect——将流转换为其他形式。...接收一个 Collector接口的实现,用于给Stream中元素做汇总的方法 注意:流进行了终止操作后,不能再次使用 Optional 容器类 用于尽量避免空指针异常 Optional.of(T t)...最后,附上Java8新特性核心知识图,祝大家在学习Java8新特性少走弯路。 ?

44210

Java8-Stream集合中的8种应用案例

前言 Java8新特性我们使用的应该比较多了,今天这里整理了个人使用最多的8种场景,希望对大家有所帮助。...遍历 遍历也许是我们使用最多的功能了,Java8之前我们遍历集合通常会采用for循环,迭代器,而在Java8中有了更加简介的方法: public static void main(String...存储的线程局部变量,不能再并行流中获取 过滤 我们经常需要将集合中一些数据进行过滤,比如过滤集合中负数,过滤一些权限相关数据,Java8之前我们更多的是使用迭代器进行remove操作,Java8中有了两种更加简介的方法...但是Java8中有更加简洁的方案,方案一:我们可以利用distinct()方法实现,如果去重元素不是基本类型而是对象的话,需要重写hashcode和equals方法,否则会去重失败。...之前我们通常会遍历集合,使用if判断,然后匹配到使用break跳出循环,但是Java8中,我们可以使用anyMatch达到相同的效果。

1.7K30

Java8新特性】不了解Optional类,简历上别说你懂Java8!!

我不是说不能写,可以这样写!但是,咱写熟练掌握Java8新特性的时候,应该静下心来好好想想自己是否真的掌握了Java8。...(null); assertFalse(opt.isPresent()); Java8之前,我们一般使用如下方式来检查空值。...= null){ System.out.println(name.length); } Java8中,我们就可以使用如下方式来检查空值了。...岁到35岁之前的人群,那Java8之前我们需要创建一个如下的方法来检测每个人的年龄范围是否25岁到35岁之前。...写在最后 如果觉得文章对你有点帮助,请微信搜索并关注「 冰河技术 」微信公众号,跟冰河学习Java8新特性。 最后,附上Java8新特性核心知识图,祝大家在学习Java8新特性少走弯路。 ?

57210

感受 lambda 之美!

---- 一、引言 java8最大的特性就是引入Lambda表达式,即函数式编程,可以将行为进行传递。总结就是:使用不可变值与函数,函数对不可变值进行处理,映射成另一个值。...使用@FunctionalInterface注解修饰的类,编译器会检测该类是否只有一个抽象方法或接口,否则,会报错。可以有多个默认方法,静态方法。 1.1 java8自带的常用函数式接口。 ?...并且返回一个Optional对象,该对象是java8新增的类,专门为了防止null引发的空指针异常。...也可以传入参数Collectors.joining(),这样就是直接拼接。 四、总结 本篇主要从实际使用讲述了常用的方法及流,使用java8可以很清晰表达你要做什么,代码也很简洁。...本篇例子主要是为了讲解较为简单,大家可以去使用java8重构自己现有的代码,自行领会lambda的奥妙。 本文说的Stream要组合使用才会发挥更大的功能,链式调用很迷人,根据自己的业务去做吧。

53721

细数 List 的 10 大坑!99%的人都踩过

Arrays.asList转换基本类型数组的坑 实际的业务开发中,我们通常会进行数组List的操作,通常我们会使用Arrays.asList来进行转换 但是转换基本类型的数组的时候,却出现转换的结果和我们想象的不一致...ArrayList中的 subList 强 ArrayList 导致异常 阿里《Java开发手册》上提过 “★ [强制] ArrayList的sublist结果不可強转成ArrayList,否则会抛出...ClassCastException 异常,即java.util.RandomAccesSubList cannot be cast to java. util.ArrayList....所以使用该迭代器元素,其他线程对该lsit操作是不可见的,因为操作的是两个不同的数组所以造成弱一致性。...使用的过程中,需要更加充分的考虑避免这些隐患的发生。

29420
领券