我有这个问题:我有一个String,但我需要确保它只包含字母AZ和数字0-9.这是我目前的代码:
boolean valid = true;
for (char c : string.toCharArray()) {
int type = Character.getType(c);
if (type == 2 || type == 1 || type == 9) {
// the character is either a letter or a digit
} else {
valid = false;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但实施它的最佳和最有效的方法是什么?
我有一个java程序的源代码,但我没有它的依赖项.是否可以编译使用无法解析的字段,类和方法的Java代码?如果没有,是否有一个程序或Eclipse插件会自动生成在编译期间无法解析的假类,变量和方法?请举例说明.
public class Main {
public static void main(String[] args) {
// ...
UnknownClass.unknownMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
我想让它UnknownClass用一个方法自动生成Class unknownMethod():
public class UnknownClass {
public static void unknownMethod() {}
}
Run Code Online (Sandbox Code Playgroud)
但不要在输出.jar中导出它
我有一个简单的html表单:
<form action="test" method="post" id="myForm">
<input type="text" name="myTextField">
<input type="text" name="myTextField2">
<input type="text" name="dontSubmitThisField">
</form>
Run Code Online (Sandbox Code Playgroud)
我需要使用JavaScript提交它,但我想dontSubmitThisField从请求中排除该字段.有没有办法在没有Ajax的情况下做到这一点?
我试图从eclipse在GlassFish 4中测试我的Web应用程序.当我使用文件(startserv.bat)启动GlassFish 4时,它工作正常,但是当我尝试从Eclipse运行它时,它开始加载,但是然后启动过程被卡在69%,在一条消息上Launching Delegate...

在这种情况下几分钟后,它给我一个错误信息:

经过几次重试后,我收到了这条消息:

即使端口8080(GlassFish的端口)和4848(GlassFIsh的管理端口)上没有运行任何东西
它之前对我来说很好,但现在由于某种原因,它只是没有,我没有做任何事情的设置或任何东西.我该如何解决这个问题?
这是我的启动控制台日志:http://pastebin.com/XL0Lh5zw(使用pastebin避免使帖子变大)
我知道可以通过\在它们之前放置符号来在Java字符串中编写双引号.但是如果在字符串中大量使用双引号,有没有办法将字符串标记一次,那么就不需要\在每个字符串之前写入符号?(就像在C#中一样,可以将@符号放在字符串之前)示例:
String quotes = @"""""""""""""""""""";
Run Code Online (Sandbox Code Playgroud)
代替
String quotes = "\"\"\"\"\"\"\"\"\"\"\"";
Run Code Online (Sandbox Code Playgroud) 我经常看到方法附近的黄色开始,以及Eclipse Luna的智能代码完成中的一些百分比:

这颗恒星和百分比意味着什么?
我正在使用ProGuard来混淆我的.jar程序.一切正常,但ProGuard不会在方法体中混淆局部变量.这是一个例子:
生的:

混淆:

以黄色突出显示的变量名称应该被混淆,但它们不是.我怎样才能对它们进行模糊处理(将它们重命名为a,b,c等?)
这是我的ProGuard配置:http://pastebin.com/sb3DMRcC(上述方法不是来自其中一个排除的类).
启动Apache后我使用XAMPP 1.7.7我收到此警报:
忙...
Apache开始[端口80]
我已打开httpd.conf文件,我已将端口号更改为8080或85.但是在重置XAMPP并启动apache之后我仍然有以上警报.
我该怎么办?
我正在尝试使用Java生成特定的计算机ID.我已经考虑过像硬盘驱动器序列,或Windows串行密钥,CPU ID或MAC地址这样的东西,但其他计算机也可能有相同的东西.例如,如果某人盗版了Windows 7的副本,他们就可能拥有相同的序列号作为某人..我想知道是否有人可以给我一种方法来生成一个永远不会改变并可使用Java检索的计算机特定ID?
我做了一些研究,发现了一些有用的功能.而且,我在想这样的事情.但如果他们更改了硬件,它将更改计算机ID.有人知道我可以用的东西吗?
public String getComputerID(){
InetAddress ip = InetAddress.getLocalHost();
NetworkInterface network = NetworkInterface.getByInetAddress(ip);
byte[] mac = network.getHardwareAddress();
String sn = getSerialNumber("C");
String cpuId = getMotherboardSN();
return MD5(mac + sn + cpuId);
}
public String MD5(String md5) {
try {
java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
byte[] array = md.digest(md5.getBytes());
StringBuffer sb = new StringBuffer();
for (int i = 0; i < array.length; ++i) {
sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).substring(1,3));
}
return sb.toString();
} catch (java.security.NoSuchAlgorithmException e) {
}
return null; …Run Code Online (Sandbox Code Playgroud) 我使用的是最新版本的Eclipse Luna(适用于Java EE开发人员),当我插入一个时<input type='text' placeholder='test123',eclipse会说"未定义的属性名称(占位符).".
为什么会那样?我做错了什么吗?有没有办法解决这个问题?
java ×7
eclipse ×3
string ×2
apache ×1
char ×1
compilation ×1
eclipse-luna ×1
forms ×1
glassfish ×1
html ×1
javascript ×1
jvm ×1
obfuscation ×1
placeholder ×1
port ×1
proguard ×1
regex ×1
submit ×1
variables ×1
xampp ×1