for (Focus obj1 : list_obj_x) {
my_string += obj1;
}
When you see the colon (:) read it as “in.” The loop above reads as “for each Focus obj1 in list_obj_x.” As you can see, the for-each construct combines beautifully with generics. It preserves all of the type safety, while removing the remaining clutter. Because you don't have to declare the iterator, you don't have to provide a generic declaration for it. (The compiler does this for you behind your back, but you need not concern yourself with it.)
And equivalent to above for each loop is:
for (int i =0 ; i< list_obj_x.size(); i++) {
my_string += list_obj_x.get(i);
}