我們的沙箱已升級到冬季'13,但我們的生產環境仍舊在舊版本。以下代碼在我們的沙箱上打印「false」,但在生產上打印「true」。我似乎無法在網上找到提及,但它看起來像他們工作不同!Salesforce.com的Winter '13版本更改/中斷Set.contains()方法嗎?
Set<Id> x = new Set<Id>{
'012A0000000qv2wIAA'
,'012A0000000qv2xIAA'
,'012A0000000qv2yIAA'
,'012A0000000qv2zIAA'
};
System.debug(x.contains('012A0000000qv2z'));
請注意,Set包含18個字符的ID,我們問是否.contains()是一個15個字符的ID。我不介意它以某種方式工作;只是奇怪,它的行爲有所不同。
編輯:只是注意到,如果我明確投的字符串的ID,行爲變得不同環境是一致的:
System.debug(x.contains((Id)('012A0000000qv2z')));
所以也許頂點已在新版本中改變了類型提升規則?
你可能會在專門的銷售人員堆棧交換網站更好的反應:http://salesforce.stackexchange.com –