Questions tagged «java»

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

22
JPA和Hibernate有什么区别?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 2年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我知道JPA 2是一个规范,而Hibernate是ORM的工具。另外,我了解到Hibernate具有比JPA 2更多的功能。但是从实际的角度来看,真正的区别是什么? 我有使用iBatis的经验,现在我正在尝试学习Hibernate或JPA2。我拿起Pro JPA2书籍,并且一直指“ JPA提供者”。例如: 如果您认为某个功能应该被标准化,则应该大声疾呼并向您的JPA提供者提出要求 这使我感到困惑,所以我有几个问题: 我可以单独使用JPA2注释POJO即可从数据库中获取数据 JPA2是否应该与“ JPA Provider”一起使用,例如TopLink或Hibernate?如果是这样,那么与单独使用JPA2或单独使用Hibernate相比,使用JPA2 + Hibernate有什么好处? 您能推荐一本实用的JPA2书籍吗?“ Pro JPA2”似乎更像是一本关于JPA2的圣经和参考书(直到本书的后半部分才进入Queries)。是否有一本书针对JPA2采用问题/解决方法?
680 java  hibernate  jpa  jakarta-ee  orm 

5
为什么Java Vector(和Stack)类被视为过时或过时的?
为什么Java Vector被认为是旧的类,已经过时或过时了? 使用并发时,使用它无效吗? 而且,如果我不想手动同步对象,而只想使用线程安全的集合而不需要创建基础数组的新副本(也是CopyOnWriteArrayList如此),那么使用它就可以了Vector吗? 怎么样Stack,这是一个子类Vector,我应该怎么用,而不是它?

30
带有JSON的杰克逊:无法识别的字段,未标记为可忽略
我需要将某个JSON字符串转换为Java对象。我正在使用Jackson进行JSON处理。我无法控制输入的JSON(我从Web服务读取)。这是我输入的JSON: {"wrapper":[{"id":"13","name":"Fred"}]} 这是一个简化的用例: private void tryReading() { String jsonStr = "{\"wrapper\"\:[{\"id\":\"13\",\"name\":\"Fred\"}]}"; ObjectMapper mapper = new ObjectMapper(); Wrapper wrapper = null; try { wrapper = mapper.readValue(jsonStr , Wrapper.class); } catch (Exception e) { e.printStackTrace(); } System.out.println("wrapper = " + wrapper); } 我的实体类是: public Class Student { private String name; private String …



7
Java核心库中的GoF设计模式示例
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我正在学习GoF Java设计模式,我想看看其中的一些实际示例。Java核心库中的这些设计模式有哪些好的示例?

22
volatile关键字对
今天的工作中,我遇到了volatileJava中的关键字。不太熟悉,我发现了以下解释: Java理论与实践:管理波动 鉴于该文章详细解释了所讨论的关键字,您是否曾经使用过它,或者是否曾经遇到过可以正确使用该关键字的情况?


30
Java中的C ++ Pair <L,R>等效项是什么?
是否有充分的理由说明为什么Pair&lt;L,R&gt;Java中没有?这个C ++结构相当于什么?我宁愿避免重新实现自己的。 似乎1.6提供了类似的内容(AbstractMap.SimpleEntry&lt;K,V&gt;),但这看起来有些令人费解。
670 java  tuples  std-pair 


28
将符合ISO 8601的字符串转换为java.util.Date
我正在尝试将ISO 8601格式的String转换为java.util.Date。 yyyy-MM-dd'T'HH:mm:ssZ如果与语言环境一起使用(比较示例),我发现该模式符合ISO8601。 但是,使用java.text.SimpleDateFormat无法转换格式正确的String 2010-01-01T12:00:00+01:00。我必须先将其转换为2010-01-01T12:00:00+0100,而不能使用冒号。 所以,目前的解决方案是 SimpleDateFormat ISO8601DATEFORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.GERMANY); String date = "2010-01-01T12:00:00+01:00".replaceAll("\\+0([0-9]){1}\\:00", "+0$100"); System.out.println(ISO8601DATEFORMAT.parse(date)); 显然不是那么好。我是否缺少某些东西或有更好的解决方案? 回答 感谢JuanZe的评论,我找到了Joda-Time魔术,这里也对此进行了描述。 因此,解决方案是 DateTimeFormatter parser2 = ISODateTimeFormat.dateTimeNoMillis(); String jtdate = "2010-01-01T12:00:00+01:00"; System.out.println(parser2.parseDateTime(jtdate)); 或更简单地说,通过构造函数使用默认解析器: DateTime dt = new DateTime( "2010-01-01T12:00:00+01:00" ) ; 对我来说,这很好。
667 java  date  iso8601 

30
在片段中使用上下文
如何获取片段中的上下文? 我需要用我的数据库其构造函数采用的背景下,但getApplicationContext()并FragmentClass.this没有工作,所以我能做些什么? 数据库构造函数 public Database(Context ctx) { this.context = ctx; DBHelper = new DatabaseHelper(context); }




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.