I think that the only kind of object that is liable to be GCed is object. Things like instance of a class or array. So, Integer the wrapper class type could be GCed while int won't be. I think that string literal are kept in string constant pool, which is not subjected to GC therefore the answer should be zero. As for string created using new, that would be creating an object of String type and so it should be eligible for GC.
Correct me if I am wrong. I got these from Passport series on
Java 2. It also says that a lot of mock exam asks this types of question and that for the purpose of taking them assume string literal could be GCed.
Hope this helps.