You need to sign in to do that
Don't have an account?
EIE50
Basic List Understanding
Hello,
I have a very basic question on Lists.
If any one can give me an explanation in very simple terms it would be really great.
List<Integer> myList = new List<Integer>(); myList.add(47); myList.add(20); myList.add(43); System.assertEquals(myList.get(1));
Compile error at line 5 column 2 Method does not exist or incorrect signature: System.assertEquals(Integer)
I thought, when i added three elements to a list which is of type integer (would basically look like this in an array myList ={47, 20, 43} ) and just expected the system assert to return me 20 as it is in the [1] index of the list. Why am i getting this incorrect signature error?
Also, i would like to know how to go about Null pointer exception errors and List index out of bound errors while dealing with the list.
Thanks.
Hi
System.assertEquals() is used to validate two values are equal. Basically it is used in test method. This method asserts that the first two arguments, x and y are the same, if they are not a runtime exception is thrown.
For Example:
If you want to get value 20 in from your list debug log you will have to do Sytem.debug(myList.get(1));
System.debug(); helps us to debug our code just as System.out.println() of Java. The debug information can be found in System log page.
Null pointer exception will come when your list is empty. List index out of bound will come when you try access index which does not exist.
You can bypass these exception as follows:
Null pointer exception
Check size of list before accessing it like:
if(myList.size() > 0)
{
//do your operations
}
List index out of bound
Again check the size of list and verify whether it is greater than the index which want to access.
Let me know if you have any questions.
Regards,
Lakshman
And just to be clear, this would work if you needed to do an assert:
Hi,
Thank you for the replies.
Can you throw an example on list index out of bounds please if you dont mind.
For example, if i have a list which has 6 integers, but then i try to get(7), i understand i will get list index out of bounds error, how can i prevent this using size() ? should i say Size() not greater than 6 ??
An example would help.
Once agian thank you for your time and explanation.
Use the Size to ensure you don't reference an invalid index e.g.
Awesome, thank you!!!!!!!!!!