Both your example and the Java one are not abstract enough (although the added string conversion is nice.) I was expecting more design patterns and layering for a truly enterprise-quality solution, like this:
https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...