public static DataType getArrayBaseType(int i, DataTypeManager dtManager) {
		String primitiveType = null;
		switch(i){
			case JavaClassConstants.T_BOOLEAN:
				primitiveType = "Z";
				break;
			case JavaClassConstants.T_CHAR:
				primitiveType = "C";
				break;
			case JavaClassConstants.T_FLOAT:
				primitiveType = "F";
				break;
			case JavaClassConstants.T_DOUBLE:
                primitiveType = "D";
                break;
			case JavaClassConstants.T_BYTE:
				primitiveType = "B";
				break;
			case JavaClassConstants.T_SHORT:
				primitiveType = "S";
				break;
			case JavaClassConstants.T_INT:
				primitiveType = "I";
				break;
			case JavaClassConstants.T_LONG:
				primitiveType = "J";
				break;
			default:
				throw new IllegalArgumentException("Invalid primitive type code: " + i);
		}
		return DescriptorDecoder.getDataTypeOfDescriptor(primitiveType, dtManager);
	}
The array type codes can be found in the JVM documentation for the 
"newarray" instruction.
@param code
@return
Ghidra/Processors/JVM/src/main/java/ghidra/app/util/pcodeInject/ArrayMethods.java