优化AnyValue.toString
This commit is contained in:
@@ -398,7 +398,7 @@ public abstract class AnyValue {
|
||||
return toString(0, (any, space) -> {
|
||||
int index = ((DefaultAnyValue) any).parentArrayIndex;
|
||||
if (index < 0) return null;
|
||||
return new StringBuilder().append(space).append(" $index: ").append(index).append(",\r\n");
|
||||
return new StringBuilder().append(space).append(" '$index': ").append(index).append(",\r\n");
|
||||
});
|
||||
}
|
||||
|
||||
@@ -957,11 +957,29 @@ public abstract class AnyValue {
|
||||
CharSequence v = prefixFunc.apply(this, space);
|
||||
if (v != null) sb.append(v);
|
||||
}
|
||||
for (Entry<String> en : getStringEntrys()) {
|
||||
sb.append(space).append(" '").append(en.name).append("': '").append(en.value).append("',\r\n");
|
||||
Entry<String>[] stringArray = getStringEntrys();
|
||||
Entry<AnyValue>[] anyArray = getAnyEntrys();
|
||||
int size = (stringArray == null ? 0 : stringArray.length) + (anyArray == null ? 0 : anyArray.length);
|
||||
int index = 0;
|
||||
for (Entry<String> en : stringArray) {
|
||||
if (en.value == null) {
|
||||
sb.append(space).append(" '").append(en.name).append("': null");
|
||||
} else {
|
||||
sb.append(space).append(" '").append(en.name).append("': '").append(en.value).append("'");
|
||||
}
|
||||
if (++index >= size) {
|
||||
sb.append("\r\n");
|
||||
} else {
|
||||
sb.append(",\r\n");
|
||||
}
|
||||
}
|
||||
for (Entry<AnyValue> en : getAnyEntrys()) {
|
||||
sb.append(space).append(" '").append(en.name).append("': ").append(en.value.toString(indent + 4, prefixFunc)).append(",\r\n");
|
||||
for (Entry<AnyValue> en : anyArray) {
|
||||
sb.append(space).append(" '").append(en.name).append("': ").append(en.value.toString(indent + 4, prefixFunc));
|
||||
if (++index >= size) {
|
||||
sb.append("\r\n");
|
||||
} else {
|
||||
sb.append(",\r\n");
|
||||
}
|
||||
}
|
||||
sb.append(space).append('}');
|
||||
return sb.toString();
|
||||
|
||||
@@ -38,44 +38,44 @@ public class AnyValuePropertiesTest {
|
||||
+ " 'source': {\r\n"
|
||||
+ " 'my': {\r\n"
|
||||
+ " 'sss': 'my s',\r\n"
|
||||
+ " 'ttt': 'my t',\r\n"
|
||||
+ " 'ttt': 'my t'\r\n"
|
||||
+ " },\r\n"
|
||||
+ " 'you': {\r\n"
|
||||
+ " 'ttt': 'you t',\r\n"
|
||||
+ " 'sss': 'you s',\r\n"
|
||||
+ " },\r\n"
|
||||
+ " 'sss': 'you s'\r\n"
|
||||
+ " }\r\n"
|
||||
+ " },\r\n"
|
||||
+ " 'ddd': {\r\n"
|
||||
+ " $index: 0,\r\n"
|
||||
+ " '$index': 0,\r\n"
|
||||
+ " 'ww': 'ww 0',\r\n"
|
||||
+ " 'nn': 'nn 0',\r\n"
|
||||
+ " 'nn': 'nn 0'\r\n"
|
||||
+ " },\r\n"
|
||||
+ " 'ddd': {\r\n"
|
||||
+ " $index: 2,\r\n"
|
||||
+ " '$index': 2,\r\n"
|
||||
+ " 'ww': 'ww 2',\r\n"
|
||||
+ " 'nn': 'nn 2',\r\n"
|
||||
+ " 'nn': 'nn 2'\r\n"
|
||||
+ " },\r\n"
|
||||
+ " 'ddd': {\r\n"
|
||||
+ " $index: 10,\r\n"
|
||||
+ " '$index': 10,\r\n"
|
||||
+ " 'ww': 'ww 10',\r\n"
|
||||
+ " 'nn': 'nn 10',\r\n"
|
||||
+ " 'nn': 'nn 10'\r\n"
|
||||
+ " },\r\n"
|
||||
+ " 'mmm': {\r\n"
|
||||
+ " 'node': 'n0',\r\n"
|
||||
+ " 'node': 'n5',\r\n"
|
||||
+ " 'node': 'n20',\r\n"
|
||||
+ " 'node': 'n20'\r\n"
|
||||
+ " },\r\n"
|
||||
+ " 'bbb': {\r\n"
|
||||
+ " 'sss': 'value s',\r\n"
|
||||
+ " 'qqq': {\r\n"
|
||||
+ " 'rrr': 'value r',\r\n"
|
||||
+ " },\r\n"
|
||||
+ " 'rrr': 'value r'\r\n"
|
||||
+ " }\r\n"
|
||||
+ " },\r\n"
|
||||
+ " 'aaa': {\r\n"
|
||||
+ " 'ppp': 'value p',\r\n"
|
||||
+ " 'ooo': 'value o',\r\n"
|
||||
+ " },\r\n"
|
||||
+ " },\r\n"
|
||||
+ " 'ooo': 'value o'\r\n"
|
||||
+ " }\r\n"
|
||||
+ " }\r\n"
|
||||
+ "}";
|
||||
Assertions.assertEquals(result, AnyValue.loadFromProperties(properties).toString());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user