Looking at some code cleanup and I was wondering the best way to deal with this:
Have a class with some private variables like:
myBool1, myBool2, myBool3
myInt1, myInt2, myInt3
myString1, myString2, myString3
What’s the best way to do a getter function that is generic to the return value? So if I do a call to the getter with something like:
myNewBool=<blah>.get("myBool1")
myNewString=<blah>.get("myString2")
myNewInt=<blah>.get("myInt3")
Anyone have any suggestions?
You can’t really have a generic getter if you don’t know what you want to get, for example :
If
getreturns something, but you don’t really know if this something is compatible with a boolean, and terrible things could happen.You could try this:
But you would have to specify the return type when you call the get method.
Here are the bad sides :
getmethod either to use each possible attribute (if you still want have some private and not accessible) or worse, use reflection to find the right attribute.So definitively not a good idea.
What you can do instead is using the good old getters//setters and if there is a lot of them, generate them with your IDE.
Another way would be to use the project lombok.
Resources :
On the same topic :