如何在Java中转换此Objective C代码?
NSMutableString * thisPart = [[NSMutableString alloc] init];
UInt64 intVal = (UInt64)[thisPart longLongValue];
if (!intVal) { isBad = YES; break; }
我一直在互联网上搜索,但没有在互联网上找到任何有用的信息。
如果我有:
UInt32 _tmpPacket_packetId;
_tmpPacket_packetId = (UInt32)intVal; // UInt64 intVal = (UInt64)[thisPart longLongValue];
我可以这样做吗?
BigInteger tmpPacket_packetId = intVal;
实际上,正确的问题是:这样做是否与目标C中的操作相同,是否正确?
最佳答案
我将假设您不关心NSMutableString位,该位可能类似于StringBuilder / StringBuffer类。 UInt64似乎是64位无符号整数?然后,您可以使用BigInteger(String)提供的String构造函数
StringBuilder thisPart = new StringBuilder("12345678901234567890");
try {
BigInteger intVal = new BigInteger(thisPart.toString());
} catch (NumberFormatException e) {
System.out.println("Bad value");
isBad = true;
break; // or return or what have you
}