public String valueAsString()

in application/org.openjdk.jmc.joverflow/src/main/java/org/openjdk/jmc/joverflow/heap/model/JavaValueArray.java [285:345]


	public String valueAsString(boolean bigLimit) {
		StringBuilder result;
		byte[] value = getValue();
		char elementSignature = getElementType();
		int elSize = elementSize(elementSignature);
		int limit = bigLimit ? 1000 : (elementSignature == 'C') ? 32 : 10;
		result = new StringBuilder(limit * 8);
		result.append(getElementTypeName(elementSignature)).append('[');
		result.append(value.length / elSize).append(']');
		for (int i = 1; i < getClazz().getNumArrayDimensions(); i++) {
			result.append("[]");
		}
		result.append('{');
		int num = 0;

		for (int i = 0; i < value.length;) {
			if (num > 0 && elementSignature != 'C') {
				result.append(", ");
			}
			if (num >= limit || result.length() > 74) {
				result.append(" ...");
				break;
			}
			num++;

			switch (elementSignature) {
			case 'C':
				result.append(charAsString(charAt(i, value)));
				break;
			case 'Z':
				result.append(booleanAsString(booleanAt(i, value)));
				break;
			case 'B':
				result.append(byteAsString(byteAt(i, value)));
				break;
			case 'S':
				result.append(shortAt(i, value));
				break;
			case 'I':
				result.append(intAt(i, value));
				break;
			case 'J': // long
				result.append(longAt(i, value));
				break;
			case 'F':
				result.append(floatAt(i, value));
				break;
			case 'D': // double
				result.append(doubleAt(i, value));
				break;
			default: {
				throw new RuntimeException("unknown primitive type?");
			}
			}

			i += elSize;
		}

		result.append('}');
		return StringInterner.internString(result.toString());
	}