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,18 +8,25 @@ abstract class WspolnaNadklasa { ...@@ -8,18 +8,25 @@ 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()) {
try { for(Field field : klasa.getDeclaredFields())
// FIXME try {
//Object value = field.get(this); if(fieldNo++ > 0) {
result.append(field.getName()).append('=').append(", "); result.append(", ");
} catch (IllegalArgumentException e) { }
System.err.println(e); 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("]"); result.append("]");
return result.toString(); return result.toString();
} }
......
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