[英]How to compare Resultset.getString() to String in Java?
[英]How to compare to string in java?
嗨,我正試圖從文件中讀取數據,然后我想從我的字符串中比較該字符串,如果該字符串等於我的字符串,則在有條件的情況下運行,否則在其他情況下運行
My.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8" %>
<%@ page import="java.io.*" %>
<html>
<body>
<%
String s1="1";
// int i=4;
// String s=null;
// String s2="1";
String s3=null;
String file = application.getRealPath("/") + "data.txt";
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
while((line = reader.readLine())!= null){
s3=line.toString();
}
if(s3.equalsIgnoreCase(s1))
%>
<%@ include file="MarketWiseData.jsp" %>
<%else
{%>
<%@ include file="CommodityWise.jsp" %>
<%
}
%>
</body>
</html>
我如何獲得目標?
提前致謝
閱讀您的代碼:
while((line = reader.readLine()) != null) {
// sb.append(line+"\n");
out.println(line);
}
if (line.equalsIgnoreCase(s1))
out.println("Shkati");
else {
out.println("sharma");
}
您有一個while循環,當line
不為null時,它將繼續運行。 因此,當line
為null時,它將停止。 所以,在if
測試, line
保證是零。 這樣就可以保證測試拋出NullPointerException,因為在null上調用方法沒有任何意義。
請注意,如果像我上面的代碼一樣,您的代碼已正確縮進,則可以立即看到其結構和邏輯。 無法縮進代碼會使您感到困惑和不清楚。
您將在if(line.equalsIgnoreCase(s1))
行獲得java.lang.NullPointerException
,因為在while循環中,您需要檢查line != null
,直到該行不為null為止,循環才會執行,何時執行line=null
,代碼從循環退出,並且if條件發生,您在其中檢查了if(line.equalsIgnoreCase(s1))
並且由於line=null
,因此您將在if條件下獲得NullPointerException
。
我想你想要這個:
while((line = reader.readLine())!= null){
if(line.equalsIgnoreCase(s1))
out.println("Shkati");
else
{
out.println("sharma");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.