[英]Parse.com create objectId with java
我有parse.com项目,我想创建objectId。 我在以下链接中找到了此方法: randomString
: parse-server-cryptoUtils 。
export function randomString(size: number): string {
if (size === 0) {
throw new Error('Zero-length randomString is useless.');
}
const chars = ('ABCDEFGHIJKLMNOPQRSTUVWXYZ' +
'abcdefghijklmnopqrstuvwxyz' +
'0123456789');
let objectId = '';
const bytes = randomBytes(size);
for (let i = 0; i < bytes.length; ++i) {
objectId += chars[bytes.readUInt8(i) % chars.length];
}
return objectId;
}
如何在Java上编写此方法? 我无法转换此bytes.readUInt8
。
我已经找到了这种方法并成功使用了它。
public class RandomString {
private static final char[] SYMBOLS = "0123456789abcdefghijklmnopqrstuvwxyz".toCharArray();
private final Random random = new Random();
private final char[] buf;
public RandomString(int length) {
assert length > 0;
buf = new char[length];
}
String nextString() {
for (int i = 0; i < buf.length; i++) {
buf[i] = SYMBOLS[random.nextInt(SYMBOLS.length)];
}
return new String(buf);
}
}
PS您在Java
的示例可能类似于以下快照:
public static String randomString(int size) {
if (size <= 0)
throw new RuntimeException("Zero-length randomString is useless.");
final char[] chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".toCharArray();
StringBuilder objectId = new StringBuilder();
Random random = new Random();
for (int i = 0; i < size; ++i)
objectId.append(chars[random.nextInt(Integer.MAX_VALUE) % chars.length]);
return objectId.toString();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.