Java 比较多个字符串
我要做的是检查多个sring是否为null,以便转到下一个活动,类似这样:Java 比较多个字符串,java,android,string-comparison,Java,Android,String Comparison,我要做的是检查多个sring是否为null,以便转到下一个活动,类似这样: if( string1.equal(null) && ... stringN.equal(null)) { Toast.makeText(this, "something is empty", Toast.LENGTH_SHORT).show();} else { GO TO THE NEXT ACTIVITY} private String[] array; private String one =
if( string1.equal(null) && ... stringN.equal(null))
{ Toast.makeText(this, "something is empty", Toast.LENGTH_SHORT).show();}
else
{ GO TO THE NEXT ACTIVITY}
private String[] array;
private String one = "one";
private String two = "two";
private String three = "three";
private String four = "four";
private String five = "five";
private void someMethod(){
if(isStringsNotNull(getStringArray())){
//Start another activity
} else {
//Do something
}
}
private String[] getStringArray(){
return new String[]{one, two, three, four, five};
}
private Boolean isStringsNotNull(String[] array){
for(String str: array){
if(str == null){
return false;
}
}
return true;
}
所有字符串都必须具有内容。。。如果字符串位于列表或数组中,则任何帮助都将非常有用,然后可以迭代它们 如果使用ArrayList:
private boolean verify(final ArrayList<String> list)
{
for (String entry : list)
{
if (TextUtils.isEmpty(entry))
return false;
}
return true;
}
如果字符串位于列表或数组中,则可以迭代它们 如果使用ArrayList:
private boolean verify(final ArrayList<String> list)
{
for (String entry : list)
{
if (TextUtils.isEmpty(entry))
return false;
}
return true;
}
您也可以这样做:
if( string1.equal(null) && ... stringN.equal(null))
{ Toast.makeText(this, "something is empty", Toast.LENGTH_SHORT).show();}
else
{ GO TO THE NEXT ACTIVITY}
private String[] array;
private String one = "one";
private String two = "two";
private String three = "three";
private String four = "four";
private String five = "five";
private void someMethod(){
if(isStringsNotNull(getStringArray())){
//Start another activity
} else {
//Do something
}
}
private String[] getStringArray(){
return new String[]{one, two, three, four, five};
}
private Boolean isStringsNotNull(String[] array){
for(String str: array){
if(str == null){
return false;
}
}
return true;
}
回答得好@PerracoLabs,但我只能检查长度是否为0。不是吗?你也可以这样做:
if( string1.equal(null) && ... stringN.equal(null))
{ Toast.makeText(this, "something is empty", Toast.LENGTH_SHORT).show();}
else
{ GO TO THE NEXT ACTIVITY}
private String[] array;
private String one = "one";
private String two = "two";
private String three = "three";
private String four = "four";
private String five = "five";
private void someMethod(){
if(isStringsNotNull(getStringArray())){
//Start another activity
} else {
//Do something
}
}
private String[] getStringArray(){
return new String[]{one, two, three, four, five};
}
private Boolean isStringsNotNull(String[] array){
for(String str: array){
if(str == null){
return false;
}
}
return true;
}
回答得好@PerracoLabs,但我只能检查长度是否为0。不是吗?如果您使用的是java8/lambda,您可以尝试使用以下函数:
List<String> stringList = new ArrayList<>(Arrays.asList(string2.split(" "))); // Split the string into list
// compare the list with the source of the string, if match put into the list of result
List<String> result = stringList.stream().filter(new Predicate<String>() {
@Override
public boolean test(String s) {
// return string1.contains(s); // case sensitive
return Pattern.compile(Pattern.quote(s), Pattern.CASE_INSENSITIVE).matcher(string1).find(); // case insensitive
}
}).collect(Collectors.toList());
// check the match results
if(result.size()<stringList.size()){
Log.d("test", "onCreate: not match");
}else{
Log.d("test", "onCreate: match");
}
List-stringList=newarraylist(Arrays.asList(string2.split(“”));//将字符串拆分为列表
//如果将匹配项放入结果列表中,请将列表与字符串源进行比较
List result=stringList.stream().filter(新谓词(){
@凌驾
公共布尔测试(字符串s){
//返回string1.contains;//区分大小写
返回Pattern.compile(Pattern.quote,Pattern.CASE不区分大小写)。matcher(string1.find();//不区分大小写
}
}).collect(Collectors.toList());
//检查比赛结果
如果(result.size()如果您使用的是java8/lambda,则可以尝试使用以下函数:
List<String> stringList = new ArrayList<>(Arrays.asList(string2.split(" "))); // Split the string into list
// compare the list with the source of the string, if match put into the list of result
List<String> result = stringList.stream().filter(new Predicate<String>() {
@Override
public boolean test(String s) {
// return string1.contains(s); // case sensitive
return Pattern.compile(Pattern.quote(s), Pattern.CASE_INSENSITIVE).matcher(string1).find(); // case insensitive
}
}).collect(Collectors.toList());
// check the match results
if(result.size()<stringList.size()){
Log.d("test", "onCreate: not match");
}else{
Log.d("test", "onCreate: match");
}
List-stringList=new-ArrayList(Arrays.asList(string2.split(“”));//将字符串拆分为列表
//如果将匹配项放入结果列表中,请将列表与字符串源进行比较
List result=stringList.stream().filter(新谓词(){
@凌驾
公共布尔测试(字符串s){
//返回string1.contains;//区分大小写
返回Pattern.compile(Pattern.quote,Pattern.CASE不区分大小写)。matcher(string1.find();//不区分大小写
}
}).collect(Collectors.toList());
//检查比赛结果
如果(result.size()如果要检查的字符串数量可变,我将执行以下操作:
private boolean validate(String... items) {
for (String item : items) {
if (TextUtils.isEmpty(item)) {
return false;
}
}
return true;
}
然后,您的代码将使用验证所需的字符串调用validate方法:
if (validate(string1, string2, stringN)) {
Toast.makeText(this, "something is empty", Toast.LENGTH_SHORT).show();
} else {
// GO TO THE NEXT ACTIVITY
}
如果要检查的字符串数量可变,我将执行以下操作:
private boolean validate(String... items) {
for (String item : items) {
if (TextUtils.isEmpty(item)) {
return false;
}
}
return true;
}
然后,您的代码将使用验证所需的字符串调用validate方法:
if (validate(string1, string2, stringN)) {
Toast.makeText(this, "something is empty", Toast.LENGTH_SHORT).show();
} else {
// GO TO THE NEXT ACTIVITY
}