我收到此错误:
java.lang.InternalError: name is too long to represent
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:338)
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:291)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:259)
Run Code Online (Sandbox Code Playgroud)
这似乎与某些调试功能有关(实际上删除-Xdebug命令行选项,错误消失).我也在ASF Bugzilla中找到了一些信息.有办法解决这个问题吗?
我能想到的可能的解决方案是更改JVM(使用JRockit应该没有这个问题),但我真的不知道这是否可以解决问题以及是否可以破坏其他问题.
这将编译
class X
{
public static void main(String args[])
{
{
int a = 2;
}
{
int a = 3;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这不会
class X
{
public static void main(String args[])
{
int a = 2;
{
int a = 3;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我期望两者都编译(也许这是C的工作方式?).原因是什么,因为无法在外部块中使用相同名称的块声明变量?
所以这就是这个例子
public static void main(String[] args) {
new Stuff(null);
new Stuff("a");
new Stuff(1);
}
Run Code Online (Sandbox Code Playgroud)
和类Stuff定义如下
public class Stuff {
Stuff(Object o){
System.out.println("object");
}
Stuff(String s){
System.out.println("string");
}
}
Run Code Online (Sandbox Code Playgroud)
输出是
string
string
object
Run Code Online (Sandbox Code Playgroud)
Java如何告诉它null是一个String?如果我换Stuff到
public class Stuff {
Stuff(String s){
System.out.println("string");
}
Stuff(Integer o){
System.out.println("Integer");
}
}
Run Code Online (Sandbox Code Playgroud)
我得到编译错误Stuff(null):
The constructore Stuff(String) is ambigous.
Run Code Online (Sandbox Code Playgroud)
再说一次,为什么Java"决定" null是一个String?
SharedPreferences类允许以简单类型(布尔,字符串等)格式保存应用程序数据.
通常它们不会被删除,它们应该保留,但是在更新/删除应用程序或清除应用程序缓存时会删除它们吗?
我有这种行为我真的不明白
${someVar}
${someVar.class.name}
${someVar == 'error'}
Run Code Online (Sandbox Code Playgroud)
输出
false
java.lang.Boolean
true
Run Code Online (Sandbox Code Playgroud)
我找到了一些使用的代码
!0
!1
Run Code Online (Sandbox Code Playgroud)
我想这与事情完全相同
true
false
Run Code Online (Sandbox Code Playgroud)
有没有理由这样做或只是一些缩写?
我希望能够解析表示物理量的表达式
g/l
m/s^2
m/s/kg
m/(s*kg)
kg*m*s
°F/(lb*s^2)
Run Code Online (Sandbox Code Playgroud)
等等.以最简单的方式.是否可以使用像Pyparsing这样的东西(如果Java存在这样的东西),或者我应该使用更复杂的工具,如Java CUP?
编辑:回答MrD的问题,目标是在数量之间进行转换,例如将g转换为kg(这个很简单......),或者可能是°F /(kg*s ^ 2)到K /(lb*h ^ 2)假设h为4小时,lb为磅
我在不同的目录中创建了一些文件.我创建时无法添加它们,所以我需要稍后再做.
有没有办法获取ClearCase视图中的所有文件的列表,这些文件实际上不在源代码管理下?
在JSP文件中,我想用new替换换行符(\n)<br />.我试过了
${fn:replace(someString, '\n', '<br />')}
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误 '\n' ecnountered, was expeting one of...
我猜这意味着解析器不喜欢这样的东西.
是否可以使用EL做这样的事情?
我想在基类构造函数中使用变量参数。派生类中也是如此。构造函数可以接收未知数量的参数,我想将它们传递给基类构造函数,以进行一些处理。我没有找到任何合适的解决方案,而且似乎可以使用spread operator解决,显然TypeScript中没有。它将在1.5版中开发(对吗?):
class TSBase{
constructor(...args: any[]){
//do stuff with args
}
}
class TSSomeController extends TSBase{
constructor(...args: any[]){
//let base do some stuff
//super(...args); //this doesn't work, but it would be cool... :)
}
}
Run Code Online (Sandbox Code Playgroud)
在TypeScript中做到这一点的最佳方法是什么?我可以使用类似的东西super.prototype.apply吗?