Questions tagged «java»

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

9
从Python调用Java
从python调用Java的最佳方法是什么?(jython和RPC对我来说不是一个选择)。 我听说过JCC:http : //pypi.python.org/pypi/JCC/1.9 一个用于从C ++ / Python调用Java的C ++代码生成器,但这需要编译所有可能的调用。我希望有另一个解决方案。 我听说过JPype:http : //jpype.sourceforge.net/ 教程:http : //www.slideshare.net/onyame/mixing-python-and-java import jpype jpype.startJVM(path to jvm.dll, "-ea") javaPackage = jpype.JPackage("JavaPackageName") javaClass = javaPackage.JavaClassName javaObject = javaClass() javaObject.JavaMethodName() jpype.shutdownJVM() 这看起来像我需要的。但是,最新版本是2009年1月,我看到人们无法编译JPype。 JPype是一个死项目吗? 还有其他选择吗? 问候,大卫
123 java  python 

7
最终静态方法的行为
我一直在使用静态方法修改器,并且遇到了奇怪的行为。 众所周知,静态方法不能被覆盖,因为它们与类而不是实例相关联。 因此,如果我具有以下代码段,则可以正常编译 //Snippet 1 - Compiles fine public class A { static void ts() { } } class B extends A { static void ts() { } } 但是,如果我在类A中包含了对静态方法的final修饰符,则编译失败 ,B中的ts()无法覆盖A中的ts();覆盖的方法是static final。 当根本无法覆盖静态方法时,为什么会发生这种情况?
123 java  methods  static  final 

6
是否可以使Java中的匿名内部类静态化?
在Java中,嵌套类可以是 static或不是。如果它们是static,则它们不包含对包含实例的指针的引用(它们也不再称为内部类,它们称为嵌套类)。 忘记做一个嵌套的类 static在不需要引用时可能会导致垃圾回收或转义分析的问题。 是否可以建立匿名内部类 static?还是编译器会自动找出原因(之所以会这样,因为不能有任何子类)? 例如,如果我做一个匿名比较器,几乎不需要外部引用: Collections.sort(list, new Comparator<String>(){ int compare(String a, String b){ return a.toUpperCase().compareTo(b.toUpperCase()); } }

10
从HashMap获取字符串值,具体取决于键名
我有一个HashMap具有各种键和值的,如何获得一个值? 我在映射中有一个名为的键my_code,它应该包含一个字符串,如何在不迭代映射的情况下获取它呢? 到目前为止,我有.. HashMap newMap = new HashMap(paramMap); String s = newMap.get("my_code").toString(); 我期望看到一个String,例如“ ABC”或“ DEF”,因为这是我最初在此处输入的内容,但是如果我这样做,则会System.out.println()得到类似java.lang.string#F0454 抱歉,您可能会猜到我对地图不太熟悉;)



11
在数据库中保存枚举的方法
将枚举保存到数据库中的最佳方法是什么? 我知道Java提供name()和valueOf()方法来枚举值转换为字符串和背部。但是还有其他(灵活的)选项来存储这些值吗? 有没有一种聪明的方法可以使枚举成为唯一的数字(ordinal()使用不安全)? 更新: 感谢您提供的所有出色且快速的答案!就像我怀疑的那样。 但是要注意“工具包”;那是一种方式。问题是我将不得不向创建的每个Enum类型添加相同的方法。那就是很多重复的代码,并且目前,Java不支持任何解决方案(Java枚举不能扩展其他类)。
123 java  database  enums 

9
如何增加Java堆栈大小?
我问了这个问题,以了解如何增加JVM中的运行时调用堆栈大小。我已经找到了答案,并且还获得了许多有用的答案和注释,这些注释和注释与Java如何处理需要大量运行时堆栈的情况有关。我在回答摘要中扩展了我的问题。 最初,我想增加JVM堆栈的大小,以便程序运行时无需安装StackOverflowError。 public class TT { public static long fact(int n) { return n < 2 ? 1 : n * fact(n - 1); } public static void main(String[] args) { System.out.println(fact(1 << 15)); } } 相应的配置设置是java -Xss...具有足够大值的命令行标志。对于TT上面的程序,它可以与OpenJDK的JVM一起工作: $ javac TT.java $ java -Xss4m TT 答案之一还指出,这些-X...标志与实现有关。我在用 java version "1.6.0_18" OpenJDK …

11
接口常量的用途是什么?
我正在学习Java,只是发现接口可以包含公共静态字段和最终字段。到目前为止,我还没有看到这些示例。这些接口常量有哪些用例,我可以在Java标准库中看到吗?


2
Mockito:doAnswer与thenReturn
我正在使用Mockito进行服务稍后的单元测试。我doAnswer对何时使用vs 感到困惑thenReturn。 谁能详细帮助我?到目前为止,我已经尝试过使用thenReturn。
123 java  mockito 


13
如何在编译时驱动C#,C ++或Java编译器来计算1 + 2 + 3 +…+ 1000?
在最近的一次采访中,有人问我一个非常奇怪的问题。面试官问我如何仅使用编译器功能来计算1 + 2 + 3 + ... + 1000。这意味着我不允许编写程序并执行它,但是我只应该编写一个程序,该程序可以驱动编译器在编译时计算此和,并在编译完成时打印结果。作为提示,他告诉我,我可能会使用编译器的泛型和预处理器功能。可以使用C ++,C#或Java编译器。有任何想法吗??? 这个问题与此处未询问任何循环的求和无关。另外,应该注意,总和应该在编译期间计算。使用C ++编译器指令仅打印结果是不可接受的。 阅读有关发布的答案的更多信息后,我发现使用C ++模板在编译过程中解决问题称为metaprogramming。这是Erwin Unruh博士在标准化C ++语言的过程中偶然发现的一项技术。您可以在meta-programming的Wiki页面上阅读有关此主题的更多信息。似乎可以使用Java注释用Java编写程序。您可以在下面查看maress的答案。 关于用C元编程++一个很好的书是这一个。如果有兴趣的话值得一看。 Boost的MPL 这个链接是一个有用的C ++元编程库。

5
Android ListView标头
我有ListView上面有某种事件。事件是按天排序的,我希望每天都有带有日期的标头,然后事件在下面侦听。 这是我填充该列表的方式: ArrayList<TwoText> crs = new ArrayList<TwoText>(); crs.add(new TwoText("This will be header", event.getDate())); for (Event event : events) { crs.add(new TwoText(event.getStartString() + "-" + event.getEndString(), event.getSubject())); } arrayAdapter = new TwoTextArrayAdapter(this, R.layout.my_list_item, crs); lv1.setAdapter(arrayAdapter); 这是我的类TwoText的外观: public class TwoText { public String classID; public String state; public TwoText(String classID, String state) …

4
用Maven构建可执行jar?
我正在尝试使用maven为名为“ logmanager”的小型家庭项目生成可执行jar,如下所示: 如何使用Maven创建具有依赖项的可执行JAR? 我将此处显示的代码段添加到pom.xml中,并运行了mvn assembly:assembly。它在logmanager / target中生成两个jar文件:logmanager-0.1.0.jar和logmanager-0.1.0-jar-with-dependencies.jar。双击第一个罐子时出现错误: Could not find the main class: com.gorkwobble.logmanager.LogManager. Program will exit. 当我双击jar-with-dependencies.jar时,出现一个略有不同的错误: Failed to load Main-Class manifest attribute from: C:\EclipseProjects\logmanager\target\logmanager-0.1.0-jar-with-dependencies.jar 我复制并粘贴了路径和类名,并检查了POM中的拼写。我的主类从Eclipse启动配置启动正常。有人可以帮我弄清楚为什么我的jar文件无法运行吗?另外,为什么要从两个罐子开始呢?如果您需要更多信息,请与我们联系。 这是完整的pom.xml,以供参考: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.gorkwobble</groupId> <artifactId>logmanager</artifactId> <name>LogManager</name> <version>0.1.0</version> <description>Systematically renames specified log files on a scheduled basis. Designed to help …

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.