【发布时间】:2015-06-09 16:18:00
【问题描述】:
我正在创建一种数据测试程序,其中一个特定部分给我带来了很多麻烦。在我的主要方法类中有一个部分,我需要将一个数据字符串作为方法中的参数发送到我的方法类(我们称之为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;
}
}
【问题讨论】:
-
这是一个非常不清楚的问题。你能发布一些代码来显示你正在尝试做什么吗?
-
你不能创建一个方法数组,但是你可以创建一个对象数组,扩展同一个类或实现同一个接口,并具有你需要调用的方法。
标签: java arrays methods return