Android String Equals和contentEquals返回false,但两个String Print都为Same

时间:2012-12-06 08:11:26

标签: java android compare base64 equals

计划流程

发件人 - 将加密密钥生成为byte []并将显示Base64.encodeToString值发送给用户,然后将该字节[](密钥)发送给Receiver作为udp数据包

接收器 - 接收UDP数据包并获取密钥(byte []),并从用户获取密钥作为字符串(用户知道我在发件人程序中显示的字符串becoz)并转换收到的密钥( byte [])使用Base64.encodeToString

的字符串

这是问题,当我使用equals比较两个字符串时,它返回false

当我在logcat中打印两个字符串时

输出

  

12-05 15:39:32.047:V / userkey(2210):oIAfhtGnf + tBX8NBB5ONVQ ==

     

12-05 15:39:32.047:V / reckey(2210):oIAfhtGnf + tBX8NBB5ONVQ ==

在这里你可以看到两个字符串都有相同的字符序列

重要

我搜索了很多并且了解了contentEquals,我也试过这个,希望它能解决我的问题becoz它只是比较两个字符串的字符和顺序, 但我不能让这个工作,它对这些字符串也是错误的......

我从EditText中的用户获取String

txtDeKey.getText().toString()

并将byte []转换为String(尝试两者)

Base64.encodeToString(key1, Base64.DEFAULT).toString()
Base64.encodeToString(key1, Base64.DEFAULT)

0 个答案:

没有答案