public final void ReadFromBytes(byte[] bytes) { MyBuffer buff = new MyBuffer(bytes); setParametersCount(buff.get()); setParameters(new java.util.ArrayList<ParameterItem>( getParametersCount())); int pos = 1; while (buff.hasRemain()) { ParameterItem item = new ParameterItem(); item.setParameterId(buff.getLong()); pos += 4; item.setParameterLength(buff.get()); pos += 1; String fieldType = GetFieldType((int) item.getParameterId()); // C# TO JAVA CONVERTER NOTE: The following 'switch' operated on a // string member and was converted to Java 'if-else' logic: // switch (fieldType) // ORIGINAL LINE: case "BYTE": if (fieldType.equals("BYTE")) // 参数值为byte类型 { item.setParameterValue(buff.get()); } // ORIGINAL LINE: case "WORD": else if (fieldType.equals("WORD")) // 参数值为ushort类型 { item.setParameterValue(buff.getShort()); } // ORIGINAL LINE: case "DWORD": else if (fieldType.equals("DWORD")) // 参数值为uint类型 { item.setParameterValue(buff.getLong()); } else { byte[] strBytes = buff.gets(item.getParameterLength()); String strValue = BitConverter.getString(strBytes, 0, strBytes.length); item.setParameterValue(strValue); } getParameters().add(item); pos += item.getParameterLength(); } }