Java 使用字符串数组进行二进制搜索查询

Java 使用字符串数组进行二进制搜索查询,java,Java,我正在看前一段时间提交的一个问题,并对此进行了进一步的调查。链接如下: 第一个答案几乎回答了我的问题,但不是全部。在上图中,数组有一组int值。但是,我有一个存储String值的数组,因此当我调用array[mid]时,它不允许这样做,因为mid是int值,而不是String。我收到错误“运算符

我正在看前一段时间提交的一个问题,并对此进行了进一步的调查。链接如下:

第一个答案几乎回答了我的问题,但不是全部。在上图中,
数组
有一组
int
值。但是,我有一个存储
String
值的数组,因此当我调用
array[mid]
时,它不允许这样做,因为mid是
int
值,而不是
String
。我收到错误
“运算符<未定义参数类型项String”
,我假设是因为我使用字符串数组调用
mid
(一个
int
值),虽然
mid
实际上是对中间
索引的引用,而不是存储在
数组中的实际值


我可能在这里完全错了,因此看起来很愚蠢:p但我很困惑,感谢任何帮助

问题不在于使用
mid
,它是
int
,来索引
字符串的数组。这很好。
问题是您试图将
运算符与
字符串一起使用

要比较
字符串
s,可以使用
compareTo
而不是

因此,不是:

a[mid] < key
a[mid]
您可以使用:

a[mid].compareTo(key) < 0
a[mid]。与(键)比较<0

嘿,非常感谢。为什么在我提供的链接中,他们能够使用'>'运算符?@user3443834此运算符是为
int
类型定义的,以及其他一些类型(
double
char
…),但不是为
String
s定义的。