網(wǎng)站首頁 編程語言 正文
因為用了isEmpty() 這個方法,然后控制臺就報了一個這
16-Apr-2022 12:13:50.900 SEVERE [http-nio-8080-exec-8] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [springDispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at com.bs.controller.UsersController.editUserType(UsersController.java:506)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
報錯放在上邊了,我想的是判斷一下返回的String字符串是不是空的,然后代碼是這樣寫的
queryById.getUserSponsortwo().isEmpty()
報錯原因:
String在調(diào)用isEmpty()方法時判斷是否為空,在String為null的時候,就會報空指針異常啦。這個原因大概就是在String為null的時候是沒有創(chuàng)建String對象的,所以就不能調(diào)用isEmpty()。但是實際上String是空的情況有三種
String=null;
String=" ";
Srtring string=new String();
其中就會出現(xiàn)String=null;調(diào)用isEmpty()報錯的情況,所以在這三種情況都出現(xiàn)的場景,都是選項使用 工具類 StringUtils
解決辦法:
首先要使用工具類 StringUtils ,首先得導(dǎo)入pom依賴
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
然后調(diào)用 isBlank() 方法,String為空 返回 FALSE
import org.junit.jupiter.api.Test;
import org.junit.platform.commons.util.StringUtils;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class test1 {
@Test
public static void main(String[] args) {
String string=null;
String string1="";
String string2=new String();
// //whetherIsKong(string);
// whetherIsKong(string1);
// whetherIsKong(string2);
newwhetherIsKong(string);
newwhetherIsKong(string1);
newwhetherIsKong(string2);
}
public static void whetherIsKong(String string){
if(string==null){
System.out.println("string==null");
}
if("".equals(string)){
System.out.println("string為 ‘ ’");
}
if(string.isEmpty()){
System.out.println("string isEmpty");
}
}
public static void newwhetherIsKong(String string){
if(StringUtils.isBlank(string)){
System.out.println("string is Blank");
}
if(StringUtils.isNotBlank(string)){
System.out.println("string is NotBlank");
}
}
祝您萬事順心,沒事點個贊唄,關(guān)注一下也行啊,如有不對請指正?
原文鏈接:https://blog.csdn.net/qq_43658218/article/details/124211479
相關(guān)推薦
- 2022-09-12 解決pygal.style的LightColorizedStyle參數(shù)問題_python
- 2022-05-25 Python可變參數(shù)*args和**kwargs_python
- 2023-02-03 VB十七種可用一行代碼完成判斷的技巧代碼_vb
- 2022-12-28 Android?ViewPager2?+?Fragment?聯(lián)動效果的實現(xiàn)思路_Android
- 2022-07-06 python如何刪除字符串最后一個字符_python
- 2022-03-26 .NET?6中使用DateOnly和TimeOnly類型_ASP.NET
- 2023-02-23 淺談Go語言的高效編碼細節(jié)_Golang
- 2021-11-21 關(guān)于.NET6?Minimal?API的使用方式詳解_實用技巧
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支