Java:我如何在运行时持久化RandomStringUUID对象

时间:2012-10-04 14:25:13

标签: java

以下是该方案: 我有:

public class RandomStringUUID {

    public RandomStringUUID() {
        final String uuidstring = UUID.randomUUID().toString().replaceAll("-", "");
    }


    public String getRandomStringUUID() {
        final String uuidst = UUID.randomUUID().toString().replaceAll("-", "");
        return uuidst;
    }
}

我在哪里生成一个独特的价值。

然后在:

public class AddSingleDomain {

    public static RandomStringUUID RUUID = new RandomStringUUID();

    @Test
    public void addSingleDomain() {
        AssertJUnit.assertEquals(DomainsPage.getTitle(), "View Account");


        String randomUIDSeed = RUUID.getRandomStringUUID();

        System.out.println("Random Domanin Name Prefix: "
                + randomUIDSeed);
        System.out.println("Random Domanin Name Prefix: " + RUUID);


        getDriver().findElement(By.name("vo.zoneName")).sendKeys(
                randomUIDSeed + ".tv");

我使用它,然后,在另一个类中使用它:

公共类VerifyDBSingleDomain {

String url = "jdbc:oracle:thin:@a.b.c.d:1521:ms";

@Test
public void VerifyDBSingleDomainTest()  {

    Properties props = new Properties();
    props.setProperty("user", "user");
    props.setProperty("password", "pass");


String sql = "Select zoneid from zone where zonename =" +  randomUIDSeed + ".tv";

我想使用相同的值“randomUIDSeed” 如果在类VerifyDBSingleDomain中i:String randomUIDSeed = RUUID.getRandomStringUUID(); 它会是同一个对象吗?我如何将它作为同一个对象使用,从而在运行时保证所有类的相同值。

2 个答案:

答案 0 :(得分:0)

然而,我不太确定你想要达到的目标;

对您的问题的简短回答是“是的,您将获得相同的String实例”。 稍微长一点的答案是“但你做错了”。

你真的应该使用持久性框架来帮助你处理这些问题。

答案 1 :(得分:0)

你可以从做这个小改动开始:

public class RandomStringUUID {

    private static final String MYUUID = UUID.randomUUID().toString().replaceAll("-", "");

    public static String getRandomStringUUID() { return MYUUID; }
}

然后您可以像这样使用它:

// Anywhere in your code: vv Note that we are using the classname! The method is static.
String theCommonID = RandomStringUUID.getRandomStringUUID();

这只是方向的暗示。这不是一个“完美”的清洁解决方案。你可能想谷歌“单身设计模式”。我现在可以想象〜其他10种方法可以做到这一点......但无论如何。

这将为您的应用的运行时间创建一个一次的ID。