When you try the following code:
fibo_list.add(0);
fibo_list.add(1);
fibo_list.add(1);
you are trying to add primitive integer values to a collection of Long objects. This doesn't work, and neither does boxing these values, which would yield an Integer. This also fails, because an Integer cannot be stored inside a collection of Long. However, the following code would work:
fibo_list.add(0L);
fibo_list.add(1L);
fibo_list.add(1L);
Here we are passing primitive long values, which can then be boxed to Long.