你把它们用getBytes()函数取出来比较他们的二进制码是否一样,可能是空格或回车换行等非可见字符。
解决方案 »
- 谁有类似QQ的聊天软件JAVA版源码附设计文档 发给我一个
- 关于keyboard类的问题
- 一个关于string转换的问题,大家帮帮忙
- 初学 问一个简单的问题
- 如何只将当前时间的时间部分转换成毫秒数
- 大家有没有这样的js树:可以动态添加节点的,但不用刷新整颗树,就像CSDN左侧那样
- 小问题!!===Ing!
- java中如何将文件导出为csv?
- JSplitPane嵌套怎么不好使??
- 100分相送,急请帮助解决!!!
- java -classpath *1.jar;*2.jar 其中*1.jar与*2.jar之间是分号还是冒号,还是其他符号,我的系统是win2000
- 安装了jbuilder后,如何回到j2sdk1.4.0开发环境,现在我的*.java *.class 图标都是jbuilder的
<%@ page contentType="text/html; charset=GB2312" %>
<html>
<head>
</head>
<body>
<form >
<table>
<tr>
<td>
<input type="text" Name = cardNumber value = "1234567">
<input type="submit" value="确定">
</td>
<%
String cardNumber = request.getParameter("cardNumber");
if(cardNumber!=null){
System.out.println("trim before:" + cardNumber);
cardNumber = cardNumber.trim();
System.out.println("trim ago: " + cardNumber);
System.out.println(String.valueOf(cardNumber.compareTo("1234567")));
}
%>
</tr>
</table>
</form>
结果是:
trim before:1234567
trim ago: 1234567
0
因此,我认为问题出在你的程序的其他地方。
把String cardNumber = request.getParameter("cardNumber");
进行转码看看,用8859_1转换下,应该可以。我以前也遇到跟你类似的问题
用trim()去掉前导和追尾空格即可
faint
用trim()去掉前导和追尾空格即可
----------------------------------
cardNumber = cardNumber.trim();
System.out.println(String.valueOf(cardNumber.compareTo"1234567")));
///////////////////////////////////////////////////////////////////
to tracter(无事可作)
在程序里,如果我使用"1234567",能够正常工作,但如果使用cardNumber赋值得来"1234567"就不能够工作。
//////////////////////////////////////////////////////////////////
to panbird()
进行转码,用8859_1转换,还是不行。
Mysql mysql = new Mysql(sql);
mysql.setString(1,userid);
mysql.setString(2,birthday);
mysql.setInt(3,Integer.parseInt(certificateType));
mysql.setString(4,cardNumber.trim());
ResultSet rs = mysql.executeQuery();
String newpass = null;
if(rs.next()) {
newpass = rs.getString("password");
///////////////////////////////////
试试了