java.lang.Object inconvertible typesint

本文详细解析了在Java中遇到的类型转换问题,特别是在使用SharedPreferencesUtils获取参数时发生的inconvertible types错误。文章提供了具体的解决方案,指导如何将int类型修改为Integer,以及boolean类型修改为Boolean,以避免类型不匹配的编译错误。

inconvertible types
found   : java.lang.Object
required: int
        return (int) SharedPreferencesUtils.getParam(contex, keyStr, 0);

原因,不要用int 修改为

Integer

 

boolean  同样的错误,修改为Boolean

`Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])' on a null object reference` 错误表明在调用 `Method.invoke` 方法时,`Method` 对象为 `null`。在 `com.oplus.atlas.OplusMessageHandler` 中,若出现此错误,可能是在获取 `Method` 对象时出现问题,或者在使用该对象之前未进行空值检查。 以下是解决该错误的一些方法: 1. **空值检查**:在调用 `invoke` 方法之前,对 `Method` 对象进行空值检查。示例代码如下: ```java import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class OplusMessageHandler { public void handleMessage() { Method ledCtl = null; Object proxy = new Object(); // 模拟获取 Method 对象 try { Class<?> proxyClass = proxy.getClass(); ledCtl = proxyClass.getMethod("ledCtl", int.class, int.class); } catch (NoSuchMethodException e) { e.printStackTrace(); } if (ledCtl != null) { try { for (int i = 0; i < 4; i++) { ledCtl.invoke(proxy, i, 1); } } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } } else { System.err.println("Method ledCtl is null."); } } } ``` 2. **确保方法存在**:检查调用的方法名和参数类型是否正确。若方法名或参数类型不匹配,`getMethod` 方法将返回 `null`。 3. **检查类加载**:确保调用的类已经正确加载。若类未正确加载,`getMethod` 方法也会返回 `null`。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值