我的目标是比较两个字节数组中的两个字符串值。它实际上需要创建两个新的字符串对象才能使用contains方法。它是正确的选择,还是有任何方法可以使用优化方式而无需使用新的关键字。
if(new String(bSourceStr).contains(new String(dest))) {
return true;
} else {
return false;
}
答案 0 :(得分:1)
如果要比较包含基本类型值(如byte)的数组的实际内容,请使用Arrays.equals()
。
String str1="Hello";
String str2="Hello";
byte[] aa = str1.getBytes();
byte[] bb = str2.getBytes();
System.out.println(Arrays.equals(aa, bb));
使用Arrays.deepEquals
比较包含对象的数组。
另外,您可以使用java.lang.Byte.compareTo(Byte anotherByte)
以数字方式比较两个字节对象。看看这个 Java.lang.Byte.compareTo() Method