我在我的代码中得到一个NoSuchFieldError,现在oracle不清楚为什么抛出这个错误只说:这个错误只能在运行时发生,如果类的定义有不兼容的改变.
有人可以向我解释一个人如何"不相容地改变"一个班级?我正在谈论的课程扩展了相当多的课程,所以我怀疑它可能与此有关,但我不知道从哪里开始寻找或者我正在寻找什么.
我有一个内部类存储我正在用于游戏的控件的信息,现在我想在其中存储一个包含所有控件名称的静态ArrayList.但我得到这个错误:"修饰符静态只允许在常量变量声明中"
private class Control{
public ArrayList<String> keys = new ArrayList<String>();
public final String key;
public final Trigger trigger;
Control(String k, Trigger t){
key = k;
trigger = t;
keys.add(key);
}
}
Run Code Online (Sandbox Code Playgroud)
现在我知道这可以通过将ArrayList从类中取出并存储在主类中来轻松解决.但我更愿意将所有信息保存在一个可以访问所有内容的课程中.
"Control.key,Control.trigger,Control.keys" 比"键,触发器,键"更优雅/可读
或许我只是有强迫症,我仍然想按照自己的方式去做.
当已知Array的索引时,使用Arrays或HashMaps是否(性能方面)更好?请记住,示例中的'objects array/map'只是一个示例,在我的实际项目中它由另一个类生成,因此我无法使用单个变量.
ArrayExample:
SomeObject[] objects = new SomeObject[2];
objects[0] = new SomeObject("Obj1");
objects[1] = new SomeObject("Obj2");
void doSomethingToObject(String Identifier){
SomeObject object;
if(Identifier.equals("Obj1")){
object=objects[0];
}else if(){
object=objects[1];
}
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
HashMapExample:
HashMap objects = HashMap();
objects.put("Obj1",new SomeObject());
objects.put("Obj2",new SomeObject());
void doSomethingToObject(String Identifier){
SomeObject object = (SomeObject) objects.get(Identifier);
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
HashMap看起来要好得多,但我真的需要这方面的表现才能优先考虑.
编辑:井阵,那么,建议仍然欢迎
编辑:我忘了提一下,Array/HashMap的大小总是一样的(6)
编辑:似乎HashMaps更快的阵列:128毫秒哈希:103毫秒
当使用较少的周期时,HashMaps的速度甚至快了两倍
测试代码:
import java.util.HashMap;
import java.util.Random;
public class Optimizationsest {
private static Random r = new Random();
private static HashMap<String,SomeObject> hm = new …Run Code Online (Sandbox Code Playgroud) 如果有JEditorPanea JScrollPane,你如何从滚动窗格中获取编辑器?
我试过scrollPane.getComponents()但编辑器不在列表中.
如果我有这个代码,我怎么能保留原始文件的文件名或重新分配给新文件?:
InputStream input= assetInfo.openStream();
File t = new File("");
OutputStream out = new FileOutputStream(t);
int read=0;
byte[] bytes = new byte[1024];
while((read = input.read(bytes))!= -1){
out.write(bytes, 0, read);
}
Run Code Online (Sandbox Code Playgroud) 我希望div有一个覆盖整个div的背景图像但是当浏览器窗口大小改变时不会缩小太多而是聚焦到图像上的某个点.
一个很好的例子就是这样,但是当你使窗口尺寸变小时,它会聚焦在黄色标志而不是图像的中间.
这种东西有插件或教程吗?我敢肯定,使用jquery和css图像精灵,我可以提出一些东西,但我宁愿使用经过验证的插件或技术,而不是一起黑客攻击.
例如,我有一个构建GUI的类,一个处理GUI所有事件的类,以及包含受GUI对象(主要是滑块)影响的所有对象的主类,以及GUI类和事件类.
现在,事件类的构造函数具有GUI类和GUI所更改的每个对象作为参数.这些都是相当多的对象,所以我现在拥有的论据数量大约是8,而且还在增长.
对我的问题有一个更优雅的解决方案,30个参数根本感觉不对吗?
ps,我宁愿不合并类,因为这三个都很大,并且会使一切都变得不那么可读.
所以我想开始研究我在5个月前放弃的游戏框架项目,该项目仍然在2.0.4版本中,看到2.1.1是我在本教程中更新项目的最新版本:http:// www.playframework.com/documentation/2.1.1/Migration.(除了执行addSbtPlugin("play"%"sbt-plugin"%"2.1.1")而不是匹配当前版本)
但是一旦我尝试干净,我就会收到这个错误:
[error] sbt.IncompatiblePluginsException: Binary incompatibility in plugins detected.
[error] Note that conflicts were resolved for some dependencies:
[error] asm:asm
[error] asm:asm-tree
[error] asm:asm-util
[error] jline:jline
[error] junit:junit
[error] com.jcraft:jsch
[error] commons-logging:commons-logging
[error] commons-codec:commons-codec
[error] Use 'last' for the full log.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
Run Code Online (Sandbox Code Playgroud)
除了这个链接,我找不到很多关于这个主题的内容,但我真的不明白是什么解决了这个问题,显然也没有提问者.我还尝试在迁移教程中添加所有示例依赖项,但没有任何改变.
这是可解决的还是我应该恢复到2.0.4?
编辑1-5-12' 添加了配置文件,我认为没有任何东西
Build.scala
import sbt._
import Keys._
import play.Project._
object ApplicationBuild extends Build {
val appName = "Workshop0182Host"
val appVersion = "1.0-SNAPSHOT"
val appDependencies …Run Code Online (Sandbox Code Playgroud) 我正在制作某种沙盒引擎,最终用户能够创建脚本以使他们的世界充满活力等等,目前我只关注LuaJava,因为我已经放弃了一些Lua的经验,并发现它是一种非常易读/易读的语言.但我也明白,根据个人偏好选择可能是一个坏主意,毕竟Lua意图嵌入到C中,因此性能不会是我想象的最好.
但在看了一些替代方案(Groovy,Clojure)后,我发现语法难以理解/太抽象,Lua是我的第一次编程经验,甚至起初很难"得到",我担心这些语言只会害怕我的废话,我再也不会看脚本了.
是否有可以嵌入Java的脚本语言在简单性上与Lua竞争?
使用JavaScript 编辑我的问题,JPython是所有大括号等,因为起始用户符号往往看起来 "很难".同样对于python,还有用户需要理解的Object的概念,在这种情况下并没有那么有用.
func = function(arg)
print(arg)
end
Run Code Online (Sandbox Code Playgroud)
这么简单......
我收到一个java.lang.VerifyError,在oracle的页面上它说它因为不一致或安全问题而被抛出.但这可能是一件非常糟糕的事情,我甚至不知道我在寻找什么,或者我应该在哪个班级.
错误消息也没有说明:
java.lang.VerifyError: (class: proto/lua/libraries/ProtoLib$Lib1, method: call signature: ()Lproto/lua/LuaValue;) Wrong return type in function
Run Code Online (Sandbox Code Playgroud)
我应该注意哪些不一致的地方?任何人都可以根据错误告诉我应该在哪个班级看?
任何关于这些例外主题的一般帮助/信息也将受到赞赏
编辑:我重写了很多Lua库,直到我得到这个错误,在各个方面都完美无缺,我使用Java SE 6 Update 26
编辑:整个错误:
java.lang.VerifyError: (class: proto/lua/libraries/ProtoLib$Lib1, method: call signature: ()Lproto/lua/LuaValue;) Wrong return type in function
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)
at proto.lua.libraries.LibFunction.bind(LibFunction.java:169)
at proto.lua.libraries.LibFunction.bind(LibFunction.java:152)
at proto.lua.libraries.ProtoLib.call(ProtoLib.java:26)
at proto.lua.otherstuff.OneArgFunction.call(OneArgFunction.java:66)
at proto.lua.LuaValue.load(LuaValue.java:1358)
at proto.lua.RavenLua.standardGlobals(RavenLua.java:100)
at proto.ProjectPROTO.<clinit>(ProjectPROTO.java:51)
Could not find the main class: proto.ProjectPROTO. Program will exit.
Exception in thread "main" Java Result: 1
Run Code Online (Sandbox Code Playgroud)
所有proto.xxx.xxx.xxx类都是源代码的一部分
编辑: …
那几乎是我的问题,我需要做这样的事情:
String scriptContent = "print("Hello World")";
Run Code Online (Sandbox Code Playgroud) 我正在尝试向这样的现有用户数据添加一个方法,但这对我来说是一个错误.
local userData = luajava.newInstance("Objects.Block") --creates a userdata from a Java class
userData.newMethod = function()
-- Do stuff
end
Run Code Online (Sandbox Code Playgroud)
我在网站上找到了这个例子,但它也不起作用
local userData = luajava.newInstance("Objects.Block")
local mt = getmetatable(userData)
mt.__index.newMethod = function()
-- Do stuff
end
Run Code Online (Sandbox Code Playgroud)
是否有一种方法/功能从Lua添加到现有的用户数据
我试图让布局的断点变得不那么变,所以我可以很容易地检查出多个想法但是这个:
@breakpoint: 500px;
@media all and (min-width: @breakpoint){
#someid{
height: 4321px;
}
}
@media all and (min-width: @breakpoint + 1){
#someid{
height: 1234px;
}
}
#someid{
height: @breakpoint + 1;
}
Run Code Online (Sandbox Code Playgroud)
汇编到这个:
@media all and (min-width: 500px) {
#someid {
height: 4321px;
}
}
@media all and (min-width: 500px + 1) { /*THE PROBLEM*/
#someid {
height: 1234px;
}
}
#someid {
height: 501px;
}
Run Code Online (Sandbox Code Playgroud)
对变量的计算不会在媒体查询中发生,或者至少不会以我期望的方式发生.这种行为有解决方法吗?它也是一个bug,我应该提交它吗?
java ×11
css ×2
debugging ×2
lua ×2
arguments ×1
arraylist ×1
arrays ×1
constructor ×1
hashmap ×1
inputstream ×1
java-me ×1
javascript ×1
less ×1
less.js ×1
list ×1
lua-userdata ×1
optimization ×1
performance ×1
sbt ×1
scala ×1
scripting ×1
static ×1
string ×1
swing ×1