1
我正在創建一種數據測試程序,其中一個特定部分給了我一大筆麻煩。在我的主要方法類中,有一部分需要將方法中的一個數據字符串作爲參數傳遞給我的方法類(我們稱之爲ValidatorClass),然後這個方法會返回任何驗證錯誤,或者如果沒有簡單的空字符串。返回字符串的方法數組
這樣可以很好,只不過我在使用「for循環」來檢查我的數據來驗證這樣做時沒有太笨重。我試圖研究方法數組,並發現了很多有用的東西,它們與void方法一起工作,但沒有發現任何返回變量的方法。
簡而言之,我問:是否可以創建一個返回變量的方法數組(或實現一個對象數組來模擬一個方法數組)?
下面是一些示例代碼,但在實際編程方法的返回實際上將被進一步上使用的:
public class Validation{
public static void main(String args){
ValidatorClass valTest = new ValidatorClass();
String[] dataList = {"Andrew", "Jameson", "Male"}
for(int i = 0; i < dataList.length; i++){
String errors = valTest.testInput(dataList[i], i).validationList[i];
System.out.println(errors);
}
}
}
而且在ValidatorClass:
public class ValidatorClass{
public String testInput(String data, int index){
//Tests the data by calling method "index" which corresponds to data type.
//ie. validateName would be index : 1, validateSurname index : 2 etc
String errors = validationMethodList[index](data); //Somehow add data as a parameter to it
return errors;
}
public String validateName(String name){
String errors = "";
if(name.length < 1){
errors += "Name Not Entered";
}
return errors;
}
public String validateSurname(String surname){
String errors = "";
if(surname.length < 1){
errors += "Surame Not Entered";
}
return errors;
}
public String validateGender(String gender){
String errors = "";
if(!gender.equalsIgnoreCase("male") || !gender.equalsIngoreCase("female")){
errors += "Invalid Gender";
}
return errors;
}
}
這是一個很不清楚的問題。你可以發佈一些代碼,顯示你正在嘗試做什麼? – 2015-04-04 21:10:58
您不能創建一個方法數組,但是您可以創建一個擴展相同類的對象數組,或者實現具有您需要調用的方法的相同接口。 – yole 2015-04-04 21:12:01