Java 从阵列的特定范围进行检查

Java 从阵列的特定范围进行检查,java,android,Java,Android,我有一个字符串数组: 字符串[]s={“一”、“二”、“三”、“四”} 现在,我想从该数组的前三项进行检查,但不希望检查包括第四项。 我使用以下代码进行检查: 布尔b=Arrays.asList.contains(“两”) 不知道是否有解决办法 怎么样 String[] newArray=new String[3]; //Copy the first three elements into newArray System.arraycopy(s,0,newArray,0,3); 经过一番思考,

我有一个字符串数组:

字符串[]s={“一”、“二”、“三”、“四”}

现在,我想从该数组的前三项进行检查,但不希望检查包括第四项。 我使用以下代码进行检查:

布尔b=Arrays.asList.contains(“两”)

不知道是否有解决办法

怎么样

String[] newArray=new String[3];
//Copy the first three elements into newArray
System.arraycopy(s,0,newArray,0,3);

经过一番思考,我想出了一个不需要创建新阵列的解决方案:

 int INSPECTION_LENGTH=3;
String query="two";

public static boolean b(String[] s,int length,String query){
for(int i=0;i<length;i++){
if(s[i].equals(query)){
return true;
}
}

return false;
}
int检验长度=3;
字符串query=“两”;
公共静态布尔b(字符串[]s,整数长度,字符串查询){
对于(int i=0;i创建
列表的子列表
如果使用
列表
,例如
ArrayList
而不是简单的数组,则可以基于原始数组,但会屏蔽不需要的元素

从数组中创建一个
列表

List < String > allStrings = new ArrayList<>( Arrays.asList( array ) ) ;
获取子列表,调用
list::subList
。我们必须使用恼人的从零开始的索引计数。第一个数字包括开始。第二个数字完全是结束。因此,获取元素1、2和3而不是4和更多会转化为
(0、3)
。我可能会尝试将其写成
(1-1、4-1)
意思是“顺序1包含4个互斥,减去1用于索引计数”

List< String > firstThreeStrings = allStrings.subList( 0 , 3 ) ;  // Using annoying zero-based index counting. First number is inclusive while the second is exclusive.
ListfirstThreeString=allStrings.subList(0,3);//使用恼人的基于零的索引计数。第一个数字是包含的,而第二个数字是独占的。

请注意,对原始
列表的任何更改都将显示在子列表中。我们没有创建副本,我们在第一个列表的内容上创建了第二个视图,隐藏了不需要的元素。

我没有尝试创建新数组。无论如何,感谢您的快速回复。
List< String > firstThreeStrings = allStrings.subList( 0 , 3 ) ;  // Using annoying zero-based index counting. First number is inclusive while the second is exclusive.