It runs very quickly, but is it more effective than having the same variables at the class level in this case ? The method iterates several hundred times and does some String stuff along the way. Those variables at the top of the method are declared hundreds of times obviously. If declared once at class level, they are reused anyway ? The class itself is instantiated within a method so all is supposed to be disposed of through memory management thereafter and not hang around for the life of the program. ? Sorry if I seem daft ...