Question: In some programming API's I see a list of methods to call, like getBoolean(String key, getDouble(String key), and getString(String key). Some other API's use a general get(String key) method, and return an Object which you are supposed to cast to an appropriate type yourself.

Now I am writing my own data accessing point, and I am wondering which approach to use. What are the advantages and disadvantages of each approach? When would you choose one over the other?

Answer: 
Advantage: getBoolean(), getDouble(), etc. allow you to return the respective primitive types. As far as I've seen, that's the primary reason anyone writes methods like that.
Provide getters for the types that are most likely to be used. There's no real right or wrong way.