以下是该方案: 我有:
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(); 它会是同一个对象吗?我如何将它作为同一个对象使用,从而在运行时保证所有类的相同值。
答案 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。