Suppose we have such a class:
public static class Cat {
    public int age;
    public int weight;
    public String name;
}
In CodeGym tasks, we sometimes get ready toString() methods, usually in this form:
@Override
public String toString() {
    return String.format("The cat's name: %s, age= %dyear, weight= %dkg", name, age, weight);
}
I am fully aware of the meaning of this code, but I don't like it. It's a bit difficult for my eyes. When I write my own toString() method, I use the following form, it's much more easily understandable to me:
@Override
public String toString() {
    return "The cat's name: " + name + ", age= " + age + "year, weight= " + weight+ "kg";
}
My question is, does it matter how I code it? Does one version have advantages/disadvantages, speed/memory consumption, etc. Which version should I prefer and why? Thanks in advance for your comments!:)