您好,我正在测试具有某些验证方法的类,我一直在想是否可以减少重复的代码。
@Test
void testCorrectEmailValidator() {
List<String> correctEmails = Arrays.asList("test@test.com", "test123@test123.com", "test@test.com.in",
"test.test2@test.com", "test.test2.test3@test.com", "TEST.2test@test.com");
for (String email : correctEmails) {
boolean isValid = UserCredentialsValidator.emailValidator(email);
System.out.println("Email is valid: " + email + ": " + isValid);
assertTrue(isValid);
}
}
@Test
void testCorrectUsernameValidator() {
List<String> correctUsernames = Arrays.asList("username", "123username", "username3", "user2name",
"USERNAME", "USERNAME123", "123USERNAME123", "2uSERname33");
for(String username : correctUsernames) {
boolean isValid = UserCredentialsValidator.usernameValidation(username, userList);
System.out.println("Username is valid: " + username + " : " + isValid);
assertTrue(isValid);
}
}
Run Code Online (Sandbox Code Playgroud)
我也有用于其他字段(例如用户名等)的验证器。我正在考虑实现一个可以接受的辅助方法:将凭据测试为字符串,列表,但最后一个参数存在问题-验证方法,不确定如何传递那。
我想用某种方法替换的代码是for循环。
我正在尝试在Internet Explorer 11(64位)上使用JRE 9运行applet,但它没有运行.我试过Windows 10和Server 2012.在我的应用程序中,我们使用deployJava.js检测已安装的jre版本.如果未找到任何版本,则会显示下载提示.这个检测是通过javascript函数getJREs完成的,可以在这里找到.请参阅下面的代码段:
getJREs: function() {
var list = new Array();
if (this.isPluginInstalled()) {
var plugin = this.getPlugin();
var VMs = plugin.jvms;
for (var i = 0; i < VMs.getLength(); i++) {
list[i] = VMs.get(i).version;
}
} else {
var browser = this.getBrowser();
if (browser == 'MSIE') {
if (this.testUsingActiveX('9')) {
list[0] = '9';
} else if (this.testUsingActiveX('1.8.0')) {
list[0] = '1.8.0';
} else if (this.testUsingActiveX('1.7.0')) {
list[0] = '1.7.0';
} else if (this.testUsingActiveX('1.6.0')) { …Run Code Online (Sandbox Code Playgroud) 我List<Integer>喜欢{ 1, 2, 3 ,4, 5 },我想得到的结果就像12345.
如何使用Java8流或任何智能方式执行此操作?
List 由单个数字的非负整数组成.
我当然可以这样做1*10000+ 2 * 1000 + 3*100 + 4*10 + 5,但这很乏味.