IDEA Unboxing of ‘stringRedisTemplate.hasKey(xx)’ may produce ‘NullPointerException’ 警告
阅读数:300 评论数:0
跳转到新版页面分类
python/Java
正文
一、解决方法
这个警告大致的意思是拆箱时有可能空指异常。
改成下面这种方式
if (Boolean.TRUE.equals(redisTemplate.hasKey(XXXX)) {
}
二、java的基础类与包装类
基本类型 | 包装类 | 默认值 | 字节数 | 表示范围 |
---|---|---|---|---|
byte | Byte | 0 | 1byte | -128~127 |
short | Short | 0 | 2byte | -32768~32767 |
int | 0L或者0l | 4byte | 4byte | -2147483648~2147483,47 |
long | Long | 0 | 8byte | -2^63 ~ 2^63-1 |
float | Float | 0.0F或者0.0f | 4byte | 1.4E-45~3.4028235E38 |
double | Double | 0.0 | 8byte | 4.9E-324~1.7976931348623157E308 |
boolean | Boolean | false | 1byte | true false |
char | Character | \u0000 | 2byte | \u0000(即为0) ~ \uffff(即为65535) |
1、基础类
(1)数据类型的自动转换
当一个较小的数据与一个较大的数据进行运算时,会自动把较小的数据转换为较大的数据。
(byte、short、char)< int < long < float < double
(2)数据类型的比较
基础类型使用==
基础类型与包装类进行比较时,包装类会自动进行拆箱,所以==和equals都可以。
包装类之间比较需要使用equals
但这里有一个特殊Integer,当Integer值在[-128,127]中的时候,由于值缓存在IntegerCache中,那么当赋值在这个区间的时候,不会创建新的Integer对象,而是直接从缓存中获取已经创建好的Integer对象,所以当值在[-128,127]之间时使用==也是会返回正确的结果
2、包装类
(1)包装类的用途
支持面向对象编程 |
支持范型 |
null值表示缺值或特殊状态 |
(2)常用方法
XXXValue() | 将包装类对象转换为相应的基本数据类型 |
parseXXX(String s) | 将字符串转换为相应的基本数据类型; |
toString() | 将包装类对象转换为字符串形式; |
equals() | 比较两个包装类对象是否相等; |
compare() | 比较两个包装类对象的大小关系。若第一个对象小于第二个对象,则返回一个负数;若两个对象相等,则返回0;若第一个对象大于第二个对象,则返回一个正数; |
valueOf() | 返回一个包含指定值的包装类对象。该方法是装箱的一种方式。 |
相关推荐
Dao层添加注解@Repository,这样可以将数据访问层的类标识为Spring Bean,同时它还能将标注的类中抛出来的数据访问异常封装为Spring的数据访问异常类型。
菜单“Run->Edit Configuration”
<img src="http://1024s.top/mbstudy/image/id?id=
之前我已经装好了jdk,sdk,idea,genymotion模拟器。
1.将模拟器Genymotion和IntelliJ Idea相关联。
<a href="htt
一、检查File->Setting
二、检查File->Project Structure
三、检查maven中关于jdk版本的配置
<profiles>
<profile>