Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

15
为什么在匿名类中只能访问最终变量?
a在这里只能是最终的。为什么?如何a在onClick()不保留为私有成员的情况下重新分配方法? private void f(Button b, final int a){ b.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { int b = a*5; } }); } 5 * a单击该如何返回?我的意思是, private void f(Button b, final int a){ b.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { int b = a*5; return b; // …

27
将ArrayList转换为字符串的最佳方法
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我有一个ArrayList我想完全输出为String的。本质上,我想使用toString由制表符分隔的每个元素按顺序输出。有什么快速的方法可以做到这一点吗?您可以遍历它(或删除每个元素)并将其连接为字符串,但是我认为这会非常慢。
353 java  string  arraylist 


13
在Maven的jar中包含依赖项
有没有办法强制maven(2.0.9)将所有依赖项包含在单个jar文件中? 我有一个构建到单个jar文件中的项目。我希望将依赖项中的类也复制到jar中。 更新:我知道我不能只在jar文件中包含jar文件。我正在寻找一种方法来解压缩指定为依赖项的jar,并将类文件打包到jar中。
353 java  maven-2  jar  packaging 


5
为什么不使用java.util.logging?
我有生以来第一次发现自己正在写一个将开源的Java API。希望将其包含在许多其他项目中。 对于日志记录,我(实际上是与我一起工作的人)一直使用JUL(java.util.logging),并且从未遇到过任何问题。但是,现在我需要更详细地了解我应该为API开发做什么。我对此进行了一些研究,并根据所获得的信息感到更加困惑。因此,这个职位。 由于我来自七月,所以我对此有偏见。我对其余的知识并不多。 通过研究,我得出了人们不喜欢JUL的这些原因: “我很早在Sun发布JUL之前就开始使用Java进行开发,对于我而言,继续使用logging-framework-X而不是学习新知识变得更加容易”。嗯 我不是在开玩笑,这实际上是人们所说的。有了这个论点,我们所有人都可以做COBOL。(但是我当然可以认为自己是个懒惰的家伙) “我不喜欢JUL中的日志记录级别的名称”。好的,认真的说,这还不足以引入新的依赖关系。 “我不喜欢JUL输出的标准格式”。嗯 这只是配置。您甚至不必执行任何代码明智的事情。(是的,过去,您可能必须创建自己的Formatter类才能正确使用它)。 “我使用了其他也使用logging-framework-X的库,因此我认为仅使用该库就更容易了”。这是一个循环的论证,不是吗?为什么“每个人”都使用logging-framework-X而不使用JUL? “其他人都在使用logging-framework-X”。对我来说,这只是上述情况的特例。多数并不总是正确的。 因此,真正的大问题是为什么不选择JUL?。我错过了什么?记录正面(SLF4J,JCL)的理由是,历史上已经存在多种记录实现,其原因确实可以追溯到我看到的JUL之前的时代。如果JUL是完美的,那么将不会存在伐木外观,还是什么?使事情更加混乱的是,JUL在某种程度上是一种外观,它允许交换Handlers,Formatters甚至LogManager。 而不是采用多种方式做同一件事(记录),我们是否应该首先质疑为什么必须这样做?(并查看这些原因是否仍然存在) 好的,到目前为止,我的研究已经发现了一些可能是JUL 真正问题的东西: 表现。有人说SLF4J的性能优于其他产品。在我看来,这似乎是过早优化的一种情况。如果您需要每秒记录数百兆字节,那么我不确定您是否走在正确的道路上。JUL也已经发展,您在Java 1.4上进行的测试可能不再正确。您可以在此处阅读有关此内容的信息,此修复程序已将其纳入Java7。许多人还谈到了日志记录方法中字符串连接的开销。但是,基于模板的日志记录避免了这种成本,并且它在JUL中也存在。我个人从来没有真正写过基于模板的日志记录。太懒了。例如,如果我使用JUL执行此操作: log.finest("Lookup request from username=" + username + ", valueX=" + valueX + ", valueY=" + valueY)); 我的IDE会警告我,并请求允许将其更改为: log.log(Level.FINEST, "Lookup request from username={0}, valueX={1}, valueY={2}", new Object[]{username, valueX, valueY}); ..我当然会接受。许可授予 !感谢您的帮助。 因此,我实际上并不是自己编写此类语句,而是由IDE完成的。 总之,在性能问题上,我没有发现任何暗示JUL的性能与竞争对手相比不佳的信息。 …
351 java  logging  slf4j  logback 

30
Java中的数组或列表。哪个更快?
我必须在内存中保留数千个字符串才能以Java顺序访问。我应该将它们存储在数组中还是应该使用某种List? 由于数组将所有数据保存在连续的内存块中(与列表不同),使用数组存储数千个字符串会不会引起问题?
351 java  arrays  list  performance 

18
如何对ArrayList进行排序?
我在Java中有一个双打列表,我想按降序对ArrayList进行排序。 输入ArrayList如下: List<Double> testList = new ArrayList(); testList.add(0.5); testList.add(0.2); testList.add(0.9); testList.add(0.1); testList.add(0.1); testList.add(0.1); testList.add(0.54); testList.add(0.71); testList.add(0.71); testList.add(0.71); testList.add(0.92); testList.add(0.12); testList.add(0.65); testList.add(0.34); testList.add(0.62); 输出应该是这样的 0.92 0.9 0.71 0.71 0.71 0.65 0.62 0.54 0.5 0.34 0.2 0.12 0.1 0.1 0.1

9
警报管理器示例
我想在我的项目中实现计划功能。所以我用Google搜索了一个警报管理器程序,但是找不到任何示例。 有人可以通过基本的警报管理器程序帮助我吗?


9
如何从Java中的静态方法调用getClass()?
我有一个必须具有一些静态方法的类。在这些静态方法中,我需要调用方法getClass()进行以下调用: public static void startMusic() { URL songPath = getClass().getClassLoader().getResource("background.midi"); } 但是Eclipse告诉我: Cannot make a static reference to the non-static method getClass() from the type Object 解决此编译时错误的适当方法是什么?

11
如何在Java中合并路径?
System.IO.Path.Combine()在C#/。NET中是否有Java等效项?或任何代码来实现这一目标? 此静态方法将一个或多个字符串组合到路径中。
350 java  path 

13
最终和有效最终之间的区别
我在用Java 8玩lambda,遇到警告local variables referenced from a lambda expression must be final or effectively final。我知道,当我在匿名类中使用变量时,它们必须在外部类中为final,但仍然-final和有效的final之间有什么区别?

9
Mockito:试图窥探方法是在调用原始方法
我正在使用Mockito 1.9.0。我想在JUnit测试中模拟类的单个方法的行为,所以我有 final MyClass myClassSpy = Mockito.spy(myInstance); Mockito.when(myClassSpy.method1()).thenReturn(myResults); 问题是,在第二行中,myClassSpy.method1()实际上是在被调用,从而导致异常。我使用模拟的唯一原因是,以便以后每次myClassSpy.method1()调用时,都不会调用real方法,并且myResults将返回对象。 MyClass是一个接口,并且是该接口myInstance的实现(如果有关系的话)。 我需要怎么做才能纠正这种间谍行为?
349 java  junit  mockito 

7
Room-未将模式导出目录提供给注释处理器,因此我们无法导出模式
我正在使用Android数据库组件室 我已经配置了所有内容,但是在编译时,Android Studio会向我发出以下警告: 模式导出目录未提供给注释处理器,因此我们无法导出模式。您可以提供room.schemaLocation注释处理器参数,也可以 将exportSchema设置为false。 据我了解,这是数据库文件所在的位置 它如何影响我的应用程序?最佳做法是什么?我应该使用默认位置(false值)吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.