如何查找Java中char[] seqarr
的前三个字符是否以此顺序(不区分大小写)的A/a, T/t, G/g
我试过了
for(int i = 0; i <= 2; i++){
if(seqarr[i] == 'A'|| seqarr[i] == 'a' ||seqarr[i] == 'T' ||seqarr[i] == 't'|| seqarr[i] == 'G'|| seqarr[i] == 'g' ){
return true;
}
最佳答案
使用字符串更容易,但是不必要:您可以简单地使用单个字符,将它们大写以规范化大小写:
return arr.length >= 3
&& Character.toUpperCase(arr[0]) == 'A'
&& Character.toUpperCase(arr[1]) == 'T'
&& Character.toUpperCase(arr[2]) == 'G';
这样可以避免创建任何对象,因此可能比转换为
String
更快。您还可以明确说明大小写变体:
(arr[0] == 'A' || arr[0] == 'a')
代替
Character.toUpperCase
等。缺点是在复制和粘贴时很容易犯一个错误,即获取正确的大写/小写对(如下面@Tim的注释所示:A/t
而不是A/a
)。