如何检查其他三个对象的属性?我需要为每个三个属性检查它是否不等于null,然后对每三个语句执行一些操作。
if(current.getValue()>0)
{
serie = fChart
.createSeries()
.setName(current.getLabel())
.setPoints(
new Number[]{
{t.getTime(),
current.getValue()}
Chart.addSeries(serie);
我需要检查下两个语句
if(current1.getValue()>0)
then do something for the serie1, and
if(current2.getValue()>0)
then do something for the serie2
我试着写成:
if (current.getValue() > 0) {
serie = fChart
.createSeries()
.setName(current.getLabel())
.setPoints(
new Number[] {
{
t.getTime(),
current.getValue() }
Chart.addSeries(serie);
}
if (current1.getValue() > 0) {
serie1 = fChart
.createSeries()
.setName(current.getLabel1())
.setPoints(
new Number[] {
{t.getTime(),
current1.getValue1() }
Chart.addSeries(serie1);
}
if (current2.getValue() > 0) {
serie2 = fChart
.createSeries()
.setName(current.getLabel2())
.setPoints(
new Number[] {
{t.getTime(),
current2.getValue2() }
Chart.addSeries(serie2);
}
但它似乎没有用,有什么建议吗?
答案 0 :(得分:1)
如果我理解了U,那么U需要这样的东西:如果所有三个值小于'0'而不是...如果当值不等于null时你需要做某事,那么用>
代替!=
if (current.getValue() > 0 && current1.getValue() > 0 && current2.getValue > 0) {
// some actions...
}
答案 1 :(得分:0)
我不确定我完全理解你的问题,但这是我的想法
首先,尝试删除尽可能多的重复代码。现在你正在为每个 currentX 做同样的事情,这是浪费屏幕空间但是对可读性也不利。假设 current , current1 和 current2 属于同一类型,您可以执行以下操作:
Object[] currents = [current, current1, current2];
for (Object cur : currents) {
if (cur.getValue() != null && cur.getValue() > 0) {
serie = fChart
.createSeries()
.setName(cur.getLabel())
.setPoints(
new Number[] {
{
t.getTime(),
cur.getValue()
}
Chart.addSeries(serie);
}
)
}
}
另外,我不确定你在分配系列时想要做些什么。因此,我就这样离开了。
编辑:-------------------
根据OP的反馈,我提出了我的答案第2版。 首先,您的代码中存在语法错误。这很可能是导致错误的原因。 其次;
if (current.getValue() != null && current.getValue() > 0 && current1.getValue() != null && current1.getValue() > 0 && current2.getValue() != null && current2.getValue() > 0) {
serie = fChart
.createSeries()
.setName(cur.getLabel())
.setPoints(
new Number[] {
{
t.getTime(),
cur.getValue()
}
Chart.addSeries(serie);
}
)
serie1 = fChart
.createSeries()
.setName(cur.getLabel1())
.setPoints(
new Number[] {
{
t.getTime(),
current1.getValue1()
}
Chart.addSeries(serie1);
}
)
serie2 = fChart
.createSeries()
.setName(cur.getLabel2())
.setPoints(
new Number[] {
{
t.getTime(),
current2.getValue2()
}
Chart.addSeries(serie2);
}
)
}
这应该可以满足您的需求。如果您仍然遇到任何错误,请发布或更具体地说明您真正想要的内容。
你可以通过重新使用serie对象而不是为每个操作创建一个新对象来改善这一点,但是为了OP的理解,我把它留下了。