你把它们用getBytes()函数取出来比较他们的二进制码是否一样,可能是空格或回车换行等非可见字符。
解决方案 »
- 带泛型的冒泡排序的问题
- 关于Date疑问!
- FTP如何解析dir list等命令返回的数据
- Java 在数组中查找
- 请教一个简单的关于java字符串问题?
- 怎么把list里面的图片读出来?poi
- 大家来说说
- 怎样提高java server与windows客户端之间数据传输速度?
- 怎样使用jdb?
- java实现 加减乘除 + - */
- 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");
///////////////////////////////////
试试了