Parse.com用java创建objectId
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Parse.com用java创建objectId相关的知识,希望对你有一定的参考价值。
我有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);
}
}
附:您在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();
}
以上是关于Parse.com用java创建objectId的主要内容,如果未能解决你的问题,请参考以下文章
Parse.com 查询返回 nil 的对象和崩溃的应用程序