结合函数声明:
String getString(@IntRange(from = 0) int columnIndex);
可以知道getString方法要求一个int类型的参数,且要求该最小为0
getColumnIndex的声明:
@IntRange(from = -1) int getColumnIndex(String columnName);
很明显它的返回值是从-1开始的
解决方法
在实际开发过程中,为了防止自己因疏忽而导致程序抛出异常甚至崩溃,建议采用方法1;如果你跟我一样是在学习过程中,想跑一个例子来加深体验,建议采用方法2,更简单。
我们发现当把getColumnIndex提前声明一个工作变量来装配他的时候,这个报错消失了。
2:判断这个值是否大于等于0,如果是,则照常写,此时不会报错;
如果不是,则不能写这条语句。
我们发现当把getColumnIndex提前声明一个工作变量来装配他的时候,这个报错消失了。
3:添加如下注解
@SuppressLint("Range")
@SuppressLint标注可以忽略指定的警告(项目开发不建议)
参考文献:https://blog.youkuaiyun.com/weixin_51395622/article/details/121911873