Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 每个项具有2个值的数组_Java_Arrays_Rest Assured - Fatal编程技术网

Java 每个项具有2个值的数组

Java 每个项具有2个值的数组,java,arrays,rest-assured,Java,Arrays,Rest Assured,我试图创建一个数组,每个项目有2个值,就像一个带有自定义头的值一样,但是来自Ruby,在Java中找不到正确的方法来实现这一点 这是为了我需要自动化的放心测试 这是我需要做的方法,我混合了obj的声明和某种ruby方式来做它,因此它的必要性更加明确: private String[] getHeaders() { String[] obj = [ 'Signature' => this.getSignature(), 'Timestamp

我试图创建一个数组,每个项目有2个值,就像一个带有自定义头的值一样,但是来自Ruby,在Java中找不到正确的方法来实现这一点

这是为了我需要自动化的放心测试

这是我需要做的方法,我混合了obj的声明和某种ruby方式来做它,因此它的必要性更加明确:

private String[] getHeaders() {
    String[] obj = [
           'Signature' => this.getSignature(),
           'Timestamp' => this.getTimestamp(),
            ];

        if(getSessionToken() != null) {
            obj.sessionToken = this.getSessionToken();
        }
    }
}

像这样的事情我怀疑是你想要的

   class Headers{
         public String signature;
         public String timeStamp;
    }
    Headers[] header = new Headers[10];

你可能不需要接球手和二传手,但你也可以把它们投进去

像这样的事情我怀疑是你想要的

   class Headers{
         public String signature;
         public String timeStamp;
    }
    Headers[] header = new Headers[10];

你可能不需要接球手和二传手,但你也可以把它们投进去

您可以通过创建模型来实现这一点。例如:

public class MyModel {
    private String signature;
    private String timestamp;

    public MyModel() {
        // constructor
    }

    public MyModel(String signature, String timestamp){
        this.signature = signature;
        this.timestamp = timestamp;
    }

    public String getSignature() {
        return signature;
    }

    public void setSignature(String signature) {
        this.signature = signature;
    }

    public String getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(String timestamp) {
        this.timestamp = timestamp;
    }
}
然后创建模型的数组。您可以使用:

private static final int MODEL_SIZE = 5;
private MyModel[] models = new MyModel[MODEL_SIZE];
如果您已经知道阵列的大小。如果您还不知道数组的大小,也可以使用下面的方法:

private ArrayList<MyModel> models = new ArrayList<>;
private MyModel model;

// Then fill your models

// by using this way
model = new MyModel("My Signature", "My Timestamp");
models.add(model);

// or this way
model = new MyModel();
model.setSignature("My Signature");
model.setTimestamp("My Timestamp");
models.add(model);
private ArrayList models=新的ArrayList;
私有MyModel模型;
//然后填充你的模型
//用这种方法
模型=新的MyModel(“我的签名”、“我的时间戳”);
模型。添加(模型);
//还是这样
model=新的MyModel();
型号设置签名(“我的签名”);
model.setTimestamp(“我的时间戳”);
模型。添加(模型);
另一种不创建模型的方法是使用HashMap。例如:

List<HashMap<String, String>> objects = new ArrayList<>();

HashMap<String, String> object = new HashMap<>();
object.put("signature", "My Signature");
object.put("timestamp", "My Timestamp");

objects.add(object);
List objects=new ArrayList();
HashMap对象=新的HashMap();
对象。放置(“签名”、“我的签名”);
put(“时间戳”、“我的时间戳”);
对象。添加(对象);

您可以通过创建模型来实现这一点。例如:

public class MyModel {
    private String signature;
    private String timestamp;

    public MyModel() {
        // constructor
    }

    public MyModel(String signature, String timestamp){
        this.signature = signature;
        this.timestamp = timestamp;
    }

    public String getSignature() {
        return signature;
    }

    public void setSignature(String signature) {
        this.signature = signature;
    }

    public String getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(String timestamp) {
        this.timestamp = timestamp;
    }
}
然后创建模型的数组。您可以使用:

private static final int MODEL_SIZE = 5;
private MyModel[] models = new MyModel[MODEL_SIZE];
如果您已经知道阵列的大小。如果您还不知道数组的大小,也可以使用下面的方法:

private ArrayList<MyModel> models = new ArrayList<>;
private MyModel model;

// Then fill your models

// by using this way
model = new MyModel("My Signature", "My Timestamp");
models.add(model);

// or this way
model = new MyModel();
model.setSignature("My Signature");
model.setTimestamp("My Timestamp");
models.add(model);
private ArrayList models=新的ArrayList;
私有MyModel模型;
//然后填充你的模型
//用这种方法
模型=新的MyModel(“我的签名”、“我的时间戳”);
模型。添加(模型);
//还是这样
model=新的MyModel();
型号设置签名(“我的签名”);
model.setTimestamp(“我的时间戳”);
模型。添加(模型);
另一种不创建模型的方法是使用HashMap。例如:

List<HashMap<String, String>> objects = new ArrayList<>();

HashMap<String, String> object = new HashMap<>();
object.put("signature", "My Signature");
object.put("timestamp", "My Timestamp");

objects.add(object);
List objects=new ArrayList();
HashMap对象=新的HashMap();
对象。放置(“签名”、“我的签名”);
put(“时间戳”、“我的时间戳”);
对象。添加(对象);

使用您关心的两个值创建一个自定义类型。创建一个这种类型的数组。你可以创建一个单独的模型类来表示你需要的东西,其中有两个字段,签名和时间戳。然后声明该类的数组,例如
MyClass[]objects=newmyclass[10]
。正如@azurefrog在我前面所说的:可能您需要一个
映射
?使用您关心的两个值创建一个自定义类型。创建一个这种类型的数组。你可以创建一个单独的模型类来表示你需要的东西,其中有两个字段,签名和时间戳。然后声明该类的数组,例如
MyClass[]objects=newmyclass[10]
。正是@azurefrog在我前面说的:DMaybe你可能想要一个
映射
?我喜欢HashMap的方法,但是我得到了错误,这一行有多个标记-语法错误,插入“VariableDeclarators”来完成LocalVariableDeclaration-语法错误,插入要完成BlockStatements-无法推断HashMapI的类型参数,请解决它们,这是我的定义错误,谢谢!我喜欢HashMap的方式,但是我得到了错误,这行有多个标记-语法错误,插入“VariableDeclarators”来完成LocalVariableDeclaration-语法错误,插入“;”来完成BlockStatements-无法推断HashMapI的类型参数解决了它们,这是我的定义错误,谢谢!