如果我正在使用Long uuid = UUID.randomUUID().getMostSignificantBits()它有可能发生碰撞.它切断了最不重要的位,所以你有可能遇到碰撞,对吗?
我正在寻找在Java中创建一个唯一ID作为String的最佳方法.
任何指导表示赞赏,谢谢.
我应该提到我正在使用Java 5.
我需要在java 1.4中创建一个UUID或GUID.当我使用:java.util.UUID时,我得到一个classnotfound异常.
下面链接有类似的问题,但没有回答Java 1.4的生成器:
我也在网上找了几节课:
您建议我在java 1.4中使用什么来创建UUID或GUID?
我正在为自己构建一个小项目,每次Employee创建a 时,他们都会获得一个 ID。
此 Id 是通过查找ArrayList的.size()生成的。
//Creating the Employee Id
int employeeID = listEmployee.size() +1;
Run Code Online (Sandbox Code Playgroud)
我知道这是一个坏主意,因为在删除员工时,Id 将开始复制。
这是我在创建员工时使用的功能
public void addHiredEmployee() {
Scanner kb = new Scanner(System.in);
System.out.println("Enter Name: ");
String nameEmployee = kb.nextLine();
//Creating Id for the employee by getting the last employee in the list
//getting their Id and adding 1 to it
Employee lastEmployee = listEmployee.get(listEmployee.size() -1);
int idCreation = lastEmployee.getEmployeeId();
int employeeID = idCreation + 1;
System.out.println("Enter password");
String employeePassword …Run Code Online (Sandbox Code Playgroud) 我需要在代码中创建一些视图并希望为视图分配一个 id。如何生成保证在其余视图 ID 中唯一的视图 ID,但在运行时执行此操作?
所以我将我的java应用程序推送到服务器,非常兴奋.
现在我想测试一下,如何将发布的数据保存到我的servlet文件中,文件名应该是一个唯一的guid.
到目前为止我有这个:
public class TestServlet extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
throws javax.servlet.ServletException, IOException {
}
protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
throws javax.servlet.ServletException, IOException {
PrintWriter printWriter = response.getWriter();
printWriter.print("hello, world from testservlet!");
}
}
Run Code Online (Sandbox Code Playgroud)
因此,假设http发布数据(比如大约50K)将被发布到字段"有效负载",我如何获取发布的文本,并将其保存到文件中,文件名为GUID.
java有一个构造来清理一个打开的文件,比如在c#中:
using(var file = new ....)
{
// write to file
}
Run Code Online (Sandbox Code Playgroud)
这会关闭连接并清理内存等.
另外,我是否需要为tomcat设置特殊权限才能保存此文件?
我现在默认设置(只是在VPS上玩)使用ubuntu 11,安装tomcat6.
谢谢.
可能重复:
在Java中生成UUID在Java中
创建GUID
我使用下面的代码片段来生成唯一的ID
String id = Long.toString(System.nanoTime());
Run Code Online (Sandbox Code Playgroud)
问题是它产生相同的id直到1分钟.
有没有其他方法来生成唯一的ID?