I'm trying to compare the picklist (multi-select) values to a List
below is my code:
List<selectOption> options = new List<selectOption>();
Schema.sObjectType sobject_type = Account.getSObjectType();
Schema.DescribeSObjectResult sobject_describe = sobject_type.getDescribe();
Map<String, Schema.SObjectField> field_map = sobject_describe.fields.getMap();
List<Schema.PicklistEntry> pick_list_values = field_map.get('Language__c').getDescribe().getPickListValues();
List<string> picklistValues = new List<string>();
for (Schema.PicklistEntry a : pick_list_values) { //for all values in the picklist list
system.debug(a.getLabel());
picklistValues.add(a.getValue()); //getValue
}
//picklistValues.sort();
list<string> lang = new list<string>();
lang.add('English');
lang.add('French');
for(integer i = 0; i<picklistValues.size(); i++)
{
if(picklistValues.contains(string.valueof(lang[i])))
{
system.debug('//matched:');
}
}
getting the following error:
Method does not exist or incorrect signature: [List].contains(String)
Set<string> picklistValues = new Set<string>();
would give you acontains
method but other changes such asi<lang.size()
also needed.