繁体   English   中英

Salesforce Apex:List.add(value ||'default value')?

[英]Salesforce Apex: List.add( value || 'default value')?

查询Account sObjects之后,我将所有字段添加到列表中。 问题在于某些Account sObjects具有某些字段,而另一些则没有。 在将字段添加到我的列表时,我希望能够添加字段(如果存在)或添加默认字符串。

让我们来看一个例子。

我的查询:

    List<Account> accountQuery = [SELECT name, (SELECT name, id FROM Contacts) FROM Account];

我的地图:

    Map<String, List<String>> Result = new Map<String, List<String>>();

遍历queryResult并保存值:

For(Account i : accountQuery){
    String[] temp = new list<string>();
    temp.add(i.name)
    //Now loop through contacts subquery
    if(!i.contacts.isEmpty()){
        for(contact j : i.Contacts){
            temp.add(j.name || 'No Contact Name Associated'); //Doesn't work
            temp.add(j.id || 'No Contact Id Associated');
        }
    }
    else{
        temp.add('No Contact Name Associated');
        temp.add('No Contact Id Associated');
    }
};

我怎样才能实现这个temp.add(值||'默认值')?

谢谢!

使用这些字符串进行这些操作的目的是什么? 你需要做什么? 我真的无法想象这个代码的任何用例,我想你的任务可能会以更方便的方式完成。

无论如何,你的问题的答案是使用ternary operator - ?:

tmp.add(j.name != null ? j.name : 'No Contact Name Associated');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM