gpt4 book ai didi

java - if语句没有在for循环android中执行

转载 作者:行者123 更新时间:2023-11-29 09:14:41 26 4
gpt4 key购买 nike

我有一个非常奇怪的问题。我有这个包含两个规则的过程对象。现在我想用 for 循环循环出这些规则并取回 1 条规则。但我总是得到空值。看起来他跳过了if语句,直接转到我的return null部分。

第一条规则的名称是年龄,另一条规则的名称是事故。我在此处包含了该方法。

我的日志正在回馈:

rulename: 'age' and variable: 'accidents' and is true ?: 'false'

rulename: 'accidents' and variable: 'accidents' and is true ?: 'true'

private Rule searchRule(String ruleName)
{
List<Rule> test = this.procedureObject.getRules();

for(Rule rule : test)
{
Log.d("debug", "rulename: '" + rule.getName() + "' and variable: '"+ruleName+"' and is true ?: '"+rule.getName().equalsIgnoreCase(ruleName)+"'");
if(rule.getName().equalsIgnoreCase(ruleName))
{
return rule;
}
}

return null;
}

编辑:现在有效。

我刚刚在调用代码中更改了这个:

Rule makeRule = RuleFactory.getNewRuleClassNameInstance(this.searchRule(ref2.getName()).getClass().getSimpleName());

到:

Rule foundRule = this.searchRule(ref2.getName());

Rule makeRule = RuleFactory.getNewRuleClassNameInstance(foundRule.getClass().getSimpleName());

然后它突然起作用了。

最佳答案

你能试试这个吗?

if(rule.getName().equalsIgnoreCase(ruleName))
{
Log.d("debug", "rulename: '" + rule.getName() + "' and variable: '"+ruleName+"' and is true ?: '"+rule.getName().equalsIgnoreCase(ruleName)+"'");
return rule;
}

关于java - if语句没有在for循环android中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10292346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com