我想将所有验证方法(电话号码验证,数字验证)保存在一个单独的类中,让其他类通常访问验证方法。我该怎么办?请有人帮助我。
class Validation {
public static boolean validateQty(String txt) {
String regx = "^0([1-9]){2}([0-9]){7}$";
Pattern compile = Pattern.compile(regx, Pattern.CASE_INSENSITIVE);
Matcher matcher = compile.matcher(txt);
return matcher.find();
}
public static boolean validateLetters(String txt) {
String regx = "[a-zA-Z]+\\.?";
Pattern pattern = Pattern.compile(regx, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(txt);
return matcher.find();
}
}
class ItemDetails {
private void addItem() {
boolean b = validateLetters(txtItemName.getText()); // I want to pass txtItemName value to Class Validation's validateLetters()
boolean c = validateQty(txtQty.getText());
}
}
答案 0 :(得分:2)
由于这些是静态方法,您可以通过为类名添加前缀来调用它们:
boolean b = Validation.validateLetters(txtItemName.getText());
boolean c = Validation.validateQty(txtQty.getText());
您可能还发现将整个项目传递给单个validate()方法很有用。
答案 1 :(得分:1)
由于这些是静态方法,您可以像这样访问
boolean b = Validation .validateLetters(txtItemName.getText());
boolean c = Validation .validateQty(txtQty.getText());
或创建验证对象
Validation v=new Validation ();
boolean b = v .validateLetters(txtItemName.getText());
boolean c =v .validateQty(txtQty.getText());
答案 2 :(得分:1)
boolean b = Validation .validateLetters(txtItemName.getText());
boolean c = Validation .validateQty(txtQty.getText());
由于验证类方法validateLetters和validateQty中的方法是静态的,因此可以这样调用它。否则,您必须首先创建验证实例。像
Validation v = new Validation();
boolean b = v.validateLetters(txtItemName.getText());
boolean c = v.validateQty(txtQty.getText());