Commit cf48da25 by Patryk Czarnik

Poprawka w toString() w nadklasie za pomocą refleksji

parent fb89df30
package sklep.model; package sklep.model;
import java.lang.reflect.Field;
abstract class WspolnaNadklasa { abstract class WspolnaNadklasa {
@Override
public String toString() {
StringBuilder result = new StringBuilder();
Class<? extends WspolnaNadklasa> klasa = this.getClass();
result.append(klasa.getSimpleName()).append(" [");
int fieldNo = 0;
for(Field field : klasa.getDeclaredFields())
try {
if(fieldNo++ > 0) {
result.append(", ");
}
Object value;
if(field.trySetAccessible()) {
value = field.get(this);
} else {
value = "!";
}
result.append(field.getName()).append('=').append(value);
} catch (IllegalArgumentException | IllegalAccessException e) {
System.err.println(e);
}
result.append("]");
return result.toString();
}
} }
...@@ -8,15 +8,22 @@ abstract class WspolnaNadklasa { ...@@ -8,15 +8,22 @@ abstract class WspolnaNadklasa {
StringBuilder result = new StringBuilder(); StringBuilder result = new StringBuilder();
Class<? extends WspolnaNadklasa> klasa = this.getClass(); Class<? extends WspolnaNadklasa> klasa = this.getClass();
result.append(klasa.getSimpleName()).append(" ["); result.append(klasa.getSimpleName()).append(" [");
int fieldNo = 0;
for(Field field : klasa.getDeclaredFields()) { for(Field field : klasa.getDeclaredFields())
try { try {
// FIXME if(fieldNo++ > 0) {
//Object value = field.get(this); result.append(", ");
result.append(field.getName()).append('=').append(", "); }
} catch (IllegalArgumentException e) { Object value;
System.err.println(e); if(field.trySetAccessible()) {
value = field.get(this);
} else {
value = "!";
} }
result.append(field.getName()).append('=').append(value);
} catch (IllegalArgumentException | IllegalAccessException e) {
System.err.println(e);
} }
result.append("]"); result.append("]");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment