Questions tagged «java»

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




22
如何获得Java中的当前堆栈跟踪?
我如何在Java中获取当前的堆栈跟踪,就像在.NET中可以做Environment.StackTrace什么一样? 我找到了,Thread.dumpStack()但这不是我想要的-我想找回堆栈跟踪信息,而不是打印出来。
1001 stack-trace  java 

22
我应该使用哪个@NotNull Java注释?
我希望使我的代码更具可读性,并使用诸如IDE代码检查和/或静态代码分析(FindBugs和Sonar)之类的工具来避免NullPointerExceptions。许多工具似乎彼此不兼容,并且@NotNull/ @NonNull/ @Nonnull注解在我的代码中列出所有工具都很难读。关于哪个是“最佳”的任何建议?这是我发现的等效注释的列表: javax.validation.constraints.NotNull 创建用于运行时验证,而非静态分析。 文件资料 edu.umd.cs.findbugs.annotations.NonNull 由Findbugs静态分析使用,因此由Sonar(现在称为Sonarqube) 文档使用 javax.annotation.Nonnull 这可能也适用于Findbugs,但是JSR-305处于非活动状态。(参见:什么是JSR 305的状态?) 源 org.jetbrains.annotations.NotNull 由IntelliJ IDEA IDE进行静态分析。 文件资料 lombok.NonNull 用于控制Lombok项目中的代码生成。 占位符注释,因为没有标准。 源, 文档 android.support.annotation.NonNull 支持注释包文档提供了Android中可用的标记注释 org.eclipse.jdt.annotation.NonNull Eclipse用于静态代码分析 文档


25
如何在Mac上安装Java 8
我想使用需要Java 8的最新JavaFX进行一些编程。我正在使用IntelliJ 13 CE和Mac OS X 9 Mavericks。我运行了Oracle的Java 8安装程序,文件看起来像最终在 /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk 但以前的版本在 /System/Library/Java/JavaFrameworks/jdk1.6.... 不知道为什么要用最新的安装程序/Library代替它/System/Library(也不知道有什么区别)。但是/usr/libexec/java_home找不到1.8,所以我找到的有关如何设置当前Java版本的所有帖子都不起作用。我尝试添加一个符号链接以使其看起来像1.8一样在/System/Library...路径中,但这无济于事。/usr/libexec/java_home -V仍然只列出了旧的Java 1.6。 具有讽刺意味的是,“系统偏好设置”下的“ Java”控制面板仅显示Java 1.8! 为什么Oracle的安装程序没有将它放到真正的位置?我该如何解决这个问题?

8
Java类中的规范名称,简单名称和类名称有什么区别?
在Java中,这些之间有什么区别: Object o1 = .... o1.getClass().getSimpleName(); o1.getClass().getName(); o1.getClass().getCanonicalName(); 我已经多次检查过Javadoc,但这从来不能很好地解释它。我也进行了测试,但没有反映出调用这些方法背后的任何实际含义。
972 java 

30
无法执行jar文件:“无主清单属性”
我已经安装了一个应用程序,当我尝试运行它(它是一个可执行的jar)时,什么也没发生。当我从命令行使用以下命令运行它时: java -jar“ app.jar” 我收到以下消息: 在“ app.jar”中没有主清单属性 通常,如果我自己创建了程序,则应该在清单文件中添加一个main class属性。但是在这种情况下,由于文件来自应用程序,因此我无法做到这一点。我还尝试提取jar,以查看是否可以找到主类,但是有很多类,但它们中的任何一个都没有名称“ main”。由于该程序可以在其他系统上正常运行,因此必须有一种解决方法。
969 java  jar  manifest  main 

30
无法启动Eclipse-Java已启动,但返回了退出代码= 13
我正在尝试使用Eclipse进行Android开发。我在尝试运行Eclipse时遇到了这个问题,它仅在几分钟前安装了4.2版。 在第一次尝试Eclipse不使用任何参数指定Java VM的情况下启动后,我收到一条错误消息,说它为couldn't find a Java VM called javaw.exe inside the Eclipse folder,所以我找到了Java的安装位置,并将该位置指定为快捷方式目标中的参数。现在出现另一个错误,Java was started but returned exit code=13。 类似的问题似乎表明这是32位/ 64位冲突,但是我对我下载Eclipse和的64位版本表示肯定,Java (RE 7u5)因为我拥有64位Windows 7 ,因此我对此表示肯定。 如果有人知道如何确认我的Eclipse和Java是64位的,将不胜感激。 如果您认为我的问题不同,请提供帮助! 请尽我所能,因为我是Eclipse和Java的新手。 快捷方式目标:“ C:\ Program Files \ Eclipse-SDK-4.2-win32-x86_64 \ eclipse \ eclipse.exe” -vm“ C:\ Program Files(x86)\ Java \ jre7 \ bin \ javaw.exe” 完整的错误代码...: …

30
为什么RecyclerView没有onItemClickListener()?
我正在探索RecyclerView,惊讶地发现那RecyclerView没有onItemClickListener()。 我有两个问题。 主要问题 我想知道为什么Google删除了onItemClickListener()? 是否存在性能问题或其他问题? 次要问题 我解决我的问题写onClick在我的RecyclerView.Adapter: public static class ViewHolder extends RecyclerView.ViewHolder implements OnClickListener { public TextView txtViewTitle; public ImageView imgViewIcon; public ViewHolder(View itemLayoutView) { super(itemLayoutView); txtViewTitle = (TextView) itemLayoutView.findViewById(R.id.item_title); imgViewIcon = (ImageView) itemLayoutView.findViewById(R.id.item_icon); } @Override public void onClick(View v) { } } 这样可以/有更好的方法吗?

17
HashMap,LinkedHashMap和TreeMap之间的区别
是什么区别HashMap,LinkedHashMap而TreeMap在Java中?我没有看到输出的任何差异,因为这三个都有keySet和values。什么是Hashtables? Map m1 = new HashMap(); m1.put("map", "HashMap"); m1.put("schildt", "java2"); m1.put("mathew", "Hyden"); m1.put("schildt", "java2s"); print(m1.keySet()); print(m1.values()); SortedMap sm = new TreeMap(); sm.put("map", "TreeMap"); sm.put("schildt", "java2"); sm.put("mathew", "Hyden"); sm.put("schildt", "java2s"); print(sm.keySet()); print(sm.values()); LinkedHashMap lm = new LinkedHashMap(); lm.put("map", "LinkedHashMap"); lm.put("schildt", "java2"); lm.put("mathew", "Hyden"); lm.put("schildt", "java2s"); print(lm.keySet()); print(lm.values());
958 java  map 

17
Java 8中的::(双冒号)运算符
我正在探索Java 8源代码,发现代码的这一特殊部分非常令人惊讶: //defined in IntPipeline.java @Override public final OptionalInt reduce(IntBinaryOperator op) { return evaluate(ReduceOps.makeInt(op)); } @Override public final OptionalInt max() { return reduce(Math::max); //this is the gotcha line } //defined in Math.java public static int max(int a, int b) { return (a >= b) ? a : b; } 是Math::max类似方法指针的东西吗?普通static方法如何转换为IntBinaryOperator?
955 java  java-8 

13
Java中的静态类
有什么像static class在Java中吗? 这样的课是什么意思。静态类的所有方法都需要static吗? 是否需要反过来,如果一个类包含所有静态方法,那么该类也应该是静态的吗? 静态类有什么用?

10
如何使用Mockito模拟void方法
如何用void返回类型模拟方法? 我实现了一个观察者模式,但是我无法用Mockito对其进行模拟,因为我不知道如何做。 我试图在Internet上找到一个例子,但没有成功。 我的课看起来像这样: public class World { List<Listener> listeners; void addListener(Listener item) { listeners.add(item); } void doAction(Action goal,Object obj) { setState("i received"); goal.doAction(obj); setState("i finished"); } private string state; //setter getter state } public class WorldTest implements Listener { @Test public void word{ World w= mock(World.class); w.addListener(this); ... ... …

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.