安卓中引用static final修饰的变量为null

林彩神 发布于 2015/07/06 13:50
阅读 924
收藏 0
public interface ITaskApi {
    public final static String TYPE_DOWNLOAD = "10";
}
我定义了如上一个变量,但是在有的地方调用此变量会是null....求解
加载中
0
红薯
红薯

感觉不太可能

林彩神
林彩神
我也觉得不可能,但是被我遇到几次了,今天恰巧又被我遇上了...
0
notreami
notreami
可以说说场景嘛?
林彩神
林彩神
场景没啥特别的,就是在一个单例的类中进行equals的比较
0
别说
别说
equals方法报空指针吗?
kymjs张涛
kymjs张涛
回复 @林林林林林 : 反过来写,这样:ITaskApi.TYPE_DOWNLOAD.equals(type)
别说
别说
回复 @林林林林林 : 你这写法如果type是null的话,也会报空的。如果type不是null,确定是final量是null,我也没辙。
林彩神
林彩神
没有,比较用的是type.equals(ITaskApi.TYPE_DOWNLOAD)
0
林彩神
林彩神
最后我把interface改成了abstract class就没有这个问题了.....
0
咫尺已天涯
咫尺已天涯
你怎么会想到把 变量保存在 接口里面,接口最好只写一些方法
0
notreami
notreami
interface中的常量不加任何修饰符也是public static final 的
0
oneMore
oneMore

引用来自“咫尺已天涯”的评论

你怎么会想到把 变量保存在 接口里面,接口最好只写一些方法
不敢苟同
0
xesam
xesam
不可能。
0
iuKa
iuKa
Android在编译的时候不是在代码中直接替换掉常量了吗
0
会飞的章鱼
会飞的章鱼
试试换成值类型,就是变成int型,会不会再出现
返回顶部
顶部