我试图比较两个希伯来语字符串:
for (String key : CsvReader.all_streets.keySet()){
if(key.equals("אורנית"))
{
Log.w("Strings are", "equal");
}
}
,但失败了。我认为这与希伯来语的编码有关,因此我尝试使用相同的编码(UTF-8)进行比较,例如:
for (String key : CsvReader.all_streets.keySet()){
ByteBuffer key_encoded = StandardCharsets.UTF_8.encode(key);
ByteBuffer oranit = StandardCharsets.UTF_8.encode("אורנית");
if(key_encoded.equals(oranit))
{
Log.w("Strings are", "equal");
}
}
,它也不起作用。为了确保字符串在集合中,我使用以下命令打印了HashMap:
Log.wtf("Key is", key);
我从实时数据库(firebase)中读取了集合all_streets
。
我在互联网上搜索了答案,但找不到任何相关内容(Java字符串被编码为UTF-16)。
我如何比较这两个字符串?