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 列中的数组中删除对象

从 Parse.com 流式传输音频 - 没有检索到数据?

无法获取 Parse.com PFUser 数据?

Parse.com 查询返回 nil 的对象和崩溃的应用程序

Node.js TypeError无法读取未定义的属性objectId

Parse 不为推送通知注册设备