开发过程中的弱智问题未知基本类型转字符串类型
来源:互联网 发布:算法第四版pdf文字版 编辑:程序博客网 时间:2024/06/05 12:04
最近开发过程中,犯了一个小错误,在此记录警示自己。
我在开发支付模块,对接的是某第三方平台,期初开发完的代码没有问题可运行,但是到后来却报错了报错为:
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
很明显的问题,基本类型无法强转为字符串类型
public static void main(String[] args) {Map<String, Object> map = new HashMap<String, Object>();int integer = new Integer(9999);Long long1 = new Long(1000000000000L);map.put("integer", integer);map.put("long1", long1);System.out.println((String)map.get("long1"));System.out.println((String)map.get("integer"));}代码中用道了强转,如已知数据类型的话强转是可以的,只需要按照规则就可(ps:至于用到map,返回值得载体而已)。
万恶的第三方悄悄改了返回值却没有跟我们说,但是这个问题的一般原因也是因为自己的疏忽造成的。
那么问题是如何在不知道对方返回的对象类型是将其转换为字符串呢。方法就是
string.valueOf(obj)。还有一个方法就是object+"";
上代码
public static void main(String[] args) {Map<String, Object> map = new HashMap<String, Object>();int integer = new Integer(9999);Long long1 = new Long(1000000000000L);map.put("integer", integer);map.put("long1", long1);System.out.println(map.get("long1")+"");System.out.println(map.get("integer")+"");System.out.println(String.valueOf(map.get("long1")));System.out.println(String.valueOf(map.get("integer")));}在不知道是哪一个基本类型时,这样使用时最安全的。在这个过程中会先调用toString()方法,经兑现类型转换为字符传类型。
嘿嘿。。。。简单吧,菜鸟自己的日记,欢迎批评。
还要说一句,开发里是不会有syso语句的哦。
阅读全文
0 0
- 开发过程中的弱智问题未知基本类型转字符串类型
- jni中的基本类型、字符串和数组
- VC开发过程中的类型不兼容
- otl使用存储过程或是LEFT JOIN时提示输出类型未知的问题
- C++中的基本类型
- lua中的基本类型
- java中的基本类型
- java中的基本类型
- lua中的基本类型
- JAVA中的基本类型
- C++中的字符串类型
- C++中的字符串类型
- C++中的字符串类型
- python中的字符串类型
- C++中的字符串类型
- python中的字符串类型
- 未知类型转换
- 基本类型-字符、字符串、文本
- javax.net.ssl.SSLKeyException: RSA premaster secret error
- 回收站删除怎么恢复,必备技巧!
- 用a标签传数据给后台进行表格下载遇到的问题
- DotNet Core全新认识
- 解决CAS内外网双IP访问的问题
- 开发过程中的弱智问题未知基本类型转字符串类型
- Jmeter——BeanShell PreProcessor的用法
- Java内部类
- Flask报错处理方法
- Java之LinkList类
- Coderbyte挑战题——AlphabetSoup
- sqlzoo练习答案--SELECT basics/zh
- Git 设置网络代理
- Android开发 之 运行权限