Questions tagged «java»

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

15
没有JAXB生成的@XmlRootElement
我正在尝试从FpML(金融产品标记语言)4.5版生成Java类。生成了大量代码,但是我不能使用它。尝试序列化一个简单的文档,我得到以下信息: javax.xml.bind.MarshalException - with linked exception: [com.sun.istack.SAXException2: unable to marshal type "org.fpml._2008.fpml_4_5.PositionReport" as an element because it is missing an @XmlRootElement annotation] 实际上,没有任何类具有@XmlRootElement批注,那么我该怎么做呢?我将xjc(JAXB 2.1)指向fpml-main-4-5.xsd,其中包括所有类型。
209 java  jaxb  xjc  fpml 



9
Java8:使用Stream / Map-Reduce / Collector将HashMap <X,Y>转换为HashMap <X,Z>
我知道如何List从Y-&gt; “转换”一个简单的Java Z,即: List&lt;String&gt; x; List&lt;Integer&gt; y = x.stream() .map(s -&gt; Integer.parseInt(s)) .collect(Collectors.toList()); 现在,我想对地图进行基本相同的操作,即: INPUT: { "key1" -&gt; "41", // "41" and "42" "key2" -&gt; "42 // are Strings } OUTPUT: { "key1" -&gt; 41, // 41 and 42 "key2" -&gt; 42 // are Integers } 解决方案不应限于String-&gt; Integer。就像List上面的示例一样,我想调用任何方法(或构造函数)。


7
Java标识符中的“连接字符”是什么?
我正在阅读SCJP,对此行有疑问: 标识符必须以字母,货币字符($)或下划线(_)之类的连接字符开头。标识符不能以数字开头! 它指出有效的标识符名称可以以下划线之类的连接字符开头。我以为下划线是唯一有效的选择?还有哪些其他连接字符?
208 java  unicode  identifier  scjp 

30
在IntelliJ IDEA中导入Maven依赖项
我对IntelliJ IDEA 11有一个小问题。我刚刚从subversion导入了一个项目-它是maven项目。但是我在maven库依赖项方面遇到问题,因此我无法自动包含所有maven依赖项-IDEA仅在打开该类时才显示依赖项错误,这就是我在这里得到的: 因此,我希望所有依赖项都自动添加-是可能的还是我必须遍历所有类文件才能识别并添加Maven依赖项? 更新:经过一些修改后,我发现了如何以某种方式解决我的问题。那就是我所做的: 但我认为从逻辑上讲,它将不包括并提前检查新的依赖关系吗?!... intelliJ中是否有任何设置区域-自动将依赖关系导出到classpath吗?

7
Java中是否会发生虚假唤醒?
看到各种与锁定相关的问题,并且(几乎)总是发现“由于虚假唤醒而引起的循环”术语1我想知道,有人经历过这种唤醒(例如,假设硬件/软件环境不错)吗? 我知道“虚假”一词没有明显的原因,但是发生此类事件的原因可能是什么? (1注意:我不是在问循环练习。) 编辑:一个帮助器问题(对于那些喜欢代码示例的人): 如果我有以下程序,并且运行它: public class Spurious { public static void main(String[] args) { Lock lock = new ReentrantLock(); Condition cond = lock.newCondition(); lock.lock(); try { try { cond.await(); System.out.println("Spurious wakeup!"); } catch (InterruptedException ex) { System.out.println("Just a regular interrupt."); } } finally { lock.unlock(); } } } 我该怎么做才能await将其虚假地唤醒,而无需永远等待随机事件?


13
从Java中的字符串中提取数字
我有一个Java String对象。我只需要从中提取数字。我举一个例子: "123-456-789" 我想要 "123456789" 是否有仅提取数字的库函数? 感谢您的回答。在尝试这些之前,我需要知道是否必须安装任何其他库?
207 java  string 

24
Android Eclipse-找不到* .apk
我知道这个问题以前曾被问过,我已经看到了很多解决方案,但似乎没有一个对我有用。在此错误开始出现之前,我能够毫无问题地构建我的apk。我试过清理我的项目,将其从工作空间中删除并重新导入,从我的Builders中为该项目删除“ Java Builder”,手动构建项目,重新排序Java构建路径。我没有可见的编译器问题,而且我的工作区中没有问题。 我之前确实曾遇到过此问题,并通过从我的工作空间中删除项目并重新导入来解决了该问题,而又有一次我从Java构建路径中删除了“ Java Builder”来解决了该问题。这次似乎没有任何工作。我目前已将大多数设置恢复为默认设置(即再次检查Java构建)。 我正在运行Windows 7(64位),并通过Eclipse 3.6使用jdk1.6.0_21。 任何建议将不胜感激,因为我已经浪费了开发时间来解决此问题。 [更新]我的语言环境为英语,并且我尝试删除与问题834相关的美国debug.keystore
207 java  android  eclipse 

4
为什么Java类用空白行进行不同的编译?
我有以下Java课 public class HelloWorld { public static void main(String []args) { } } 当我编译该文件并在生成的类文件上运行sha256时,我得到 9c8d09e27ea78319ddb85fcf4f8085aa7762b0ab36dc5ba5fd000dccb63960ff HelloWorld.class 接下来,我修改了该类并添加了一个空白行,如下所示: public class HelloWorld { public static void main(String []args) { } } 再次,我在输出上运行了sha256,期望得到相同的结果,但是我得到了 11f7ad3ad03eb9e0bb7bfa3b97bbe0f17d31194d8d92cc683cfbd7852e2d189f HelloWorld.class 我读过这篇TutorialsPoint文章: 仅包含空格(可能带有注释)的行被称为空白行,而Java完全忽略了它。 所以我的问题是,由于Java忽略空白行,两个程序的编译字节码为何不同? 即在该差HelloWorld.class一个0x03字节是由替换0x04字节。

14
为什么x ==(x = y)与(x = y)== x不同?
考虑以下示例: class Quirky { public static void main(String[] args) { int x = 1; int y = 3; System.out.println(x == (x = y)); // false x = 1; // reset System.out.println((x = y) == x); // true } } 我不确定Java语言规范中是否有一项规定要加载变量的先前值以便与右侧(x = y)进行比较,根据括号中的顺序,应该首先计算该右侧()。 为什么第一个表达式求值false,而第二个表达式求值true?我本来希望(x = y)先被评估,然后再x与自身(3)比较并返回true。 这个问题与Java表达式中子表达式的求值顺序不同,因为x这里绝对不是“子表达式”。需要加载它以进行比较,而不是对其进行“评估”。这个问题是特定于Java的x == (x = y),与通常为棘手的面试问题设计的牵强的不切实际的构造不同,该表达式来自一个真实的项目。它原本应该是“一键替换”成语的单行替换 …

4
相当于e.printStackTrace的python
我知道print(e)(其中e是一个异常)会打印发生的异常,但是,我试图找到与Java等效的python,e.printStackTrace()它可以将异常确切地跟踪到发生的那一行,并打印出整个轨迹。 谁能告诉我e.printStackTrace()Python 的等效功能吗?


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.