You are mistaken, there is no method Resources.getString(string, args...) or Context.getString(string, args...). There is Resources.getString(int, args...) that takes an int and objects.
When formatting a string you would use String.format(string, args...). But in Android your string resources are probably in the res folder so you have a convinience method for getting the string from the resources and formatting it with String.format. It does the same thing as you did (taken from Android source):
@NonNull
public String getString(@StringRes int id, Object... formatArgs) throws NotFoundException {
final String raw = getString(id);
return String.format(mResourcesImpl.getConfiguration().getLocales().get(0), raw,
formatArgs);
}
You would use it like:
getString(R.string.something, arg1)
and save yourself some typing.
Why?. The answer can't beYes