Hi Guys
I am going to share about one issue which I have come across. I was just comparing some value of selectOption list by iterating that list.
Here is the code:-
list<SelectOption> listOfOptions;
listOfOptions = new list<SelectOption>();
listOfOptions.add(new SelectOption('a','a') );
listOfOptions.add(new SelectOption('1','1') );
listOfOptions.add(new SelectOption('A','A') );
listOfOptions.add(new SelectOption('@','@') );
for(SelectOption option:listOfOptions){
if(option== 'A'){
System.debug('hi');
}
}
COMPILE ERROR: Comparison arguments must be compatible types: System.SelectOption, String
To avoid this error we need to use getValue() method.
list<SelectOption> listOfOptions;
listOfOptions = new list<SelectOption>();
listOfOptions.add(new SelectOption('a','a') );
listOfOptions.add(new SelectOption('1','1') );
listOfOptions.add(new SelectOption('A','A') );
listOfOptions.add(new SelectOption('@','@') );
for(SelectOption option:listOfOptions){
if(option.getValue()== 'A'){
System.debug('hi');
}
}
Now 'Hi' will be printed two times.You can run this code from workbench and developer console. Let me know if some error is there by adding comments.
I am going to share about one issue which I have come across. I was just comparing some value of selectOption list by iterating that list.
Here is the code:-
list<SelectOption> listOfOptions;
listOfOptions = new list<SelectOption>();
listOfOptions.add(new SelectOption('a','a') );
listOfOptions.add(new SelectOption('1','1') );
listOfOptions.add(new SelectOption('A','A') );
listOfOptions.add(new SelectOption('@','@') );
for(SelectOption option:listOfOptions){
if(option== 'A'){
System.debug('hi');
}
}
COMPILE ERROR: Comparison arguments must be compatible types: System.SelectOption, String
To avoid this error we need to use getValue() method.
list<SelectOption> listOfOptions;
listOfOptions = new list<SelectOption>();
listOfOptions.add(new SelectOption('a','a') );
listOfOptions.add(new SelectOption('1','1') );
listOfOptions.add(new SelectOption('A','A') );
listOfOptions.add(new SelectOption('@','@') );
for(SelectOption option:listOfOptions){
if(option.getValue()== 'A'){
System.debug('hi');
}
}
Now 'Hi' will be printed two times.You can run this code from workbench and developer console. Let me know if some error is there by adding comments.
No comments:
Post a Comment