Questions tagged «java»

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


14
玩!框架使用静态的<lot>
Waaah,戏剧!框架有很多静态方法。我在哪里上学,我们被告知从来没有使用任何静态的,但玩!像没有明天一样使用它。可以吗?如果是这样,为什么? 我们(和我7个人)正计划使用Play!涉及Web应用程序的项目的框架。我们决定通过Play做到这一点!因为这样做看起来很有趣,所以我们所有人都已经知道Java,并且分配工作非常困难,因此我们希望专注于实际分配,而不是学习如何使用其他语言进行编程。 但是,总是告诉我们,永远不要在我们开发的任何Java程序中使用“静态”,但是当我看Play时!...嗯...大约一半的方法是静态的。&lt;/ exaggeration&gt; 我想至少可以使用单例对象(例如使用Scala,例如^^)来对我们的项目进行编程,但是我非常担心框架本身实际上有多少个静态变量。 那么,我应该对此予以关注吗?玩的方式!开发人员对其进行了编程,以使所有这些静态变量都不会造成问题? (例如,该线程对为什么不惜一切代价避免使用静态成员的做法感到愤慨。)

5
如何使用Java检查URL是否存在或返回404?
String urlString = "http://www.nbc.com/Heroes/novels/downloads/Heroes_novel_001.pdf"; URL url = new URL(urlString); if(/* Url does not return 404 */) { System.out.println("exists"); } else { System.out.println("does not exists"); } urlString = "http://www.nbc.com/Heroes/novels/downloads/Heroes_novel_190.pdf"; url = new URL(urlString); if(/* Url does not return 404 */) { System.out.println("exists"); } else { System.out.println("does not exists"); } 这应该打印 exists …

12
如果equals(null)代替抛出NullPointerException是一个坏主意吗?
合同equals与问候null,如下: 对于任何非null的参考值x,x.equals(null)应使用return false。 这是很特殊的,因为如果o1 != null和o2 == null,那么我们有: o1.equals(o2) // returns false o2.equals(o1) // throws NullPointerException 这o2.equals(o1) throws NullPointerException是一件好事,因为它使我们意识到程序员的错误。但是,如果由于各种原因我们只是将其切换到o1.equals(o2),则该错误将不会被捕获,而这只会“静默失败”。 所以问题是: 为什么o1.equals(o2)不应该return false抛出一个好主意NullPointerException呢? 如果我们尽可能重写合同以改为anyObject.equals(null)始终抛出,那将是一个坏主意NullPointerException吗? 与比较 Comparable 相比之下,Comparable合同是这样说的: 请注意,null不是任何类的实例,并e.compareTo(null)应抛出NullPointerException,即使e.equals(null)回报false。 如果NullPointerException适合compareTo,为什么不适合equals呢? 相关问题 关于null的可比合同和比较合同 一个纯粹的语义论点 这些是Object.equals(Object obj)文档中的实际词语: 指示其他某个对象是否“等于”该对象。 什么是物体? JLS 4.3.1对象 一个对象是一个类的实例或阵列。 引用值(通常只是引用)是指向这些对象的指针,是一个特殊的null引用,它不引用任何对象。 从这个角度来说,我的论点非常简单。 equals测试其他对象是否“等于”this null参考没有给出其他测试对象 因此,equals(null)应该扔NullPointerException

4
与equals方法相关的Java代码
我正在为考试练习,发现了一个我不理解的示例问题。 对于以下代码,找到输出是什么: public class Test { private static int count = 0; public boolean equals(Test testje) { System.out.println("count = " + count); return false; } public static void main(String [] args) { Object t1 = new Test(); Object t2 = new Test(); Test t3 = new Test(); Object o1 = …
75 java  equals 


14
Java配置框架
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在淘汰Java库中的所有硬编码值,并且想知道哪种框架最好(就零或接近零的配置而言)来处理运行时配置?我希望使用基于XML的配置文件,但这不是必需的。 如果您有框架方面的实践经验,请仅作答复。我不是在寻找例子,而是经验……

9
为什么String的hashCode()不缓存0?
我在Java 6的String源代码中注意到,hashCode仅缓存除0以外的值。以下代码段显示了性能差异: public class Main{ static void test(String s) { long start = System.currentTimeMillis(); for (int i = 0; i &lt; 10000000; i++) { s.hashCode(); } System.out.format("Took %d ms.%n", System.currentTimeMillis() - start); } public static void main(String[] args) { String z = "Allocator redistricts; strict allocator redistricts strictly."; test(z); test(z.toUpperCase()); …
75 java  string  hashcode 

2
为什么Math.ceil返回双精度值?
当我打电话Math.ceil(5.2)回是double 6.0。我的天生的倾向是认为那Math.ceil(double a)会返回long。从文档中: ceil(double a) 返回double不小于参数且等于数学整数的最小(最接近负无穷大)值。 但是,如果结果是整数,为什么要返回adouble而不是a long?我认为了解其背后的原因可能会帮助我更好地理解Java。这也可能帮助我弄清楚是否会因强制转换为而使自己陷入困境long,例如is long b = (long)Math.ceil(a); 我一直认为应该是什么?我担心可能会出现一些边界问题。

4
takeWhile()与Flatmap的工作方式不同
我正在用takeWhile创建片段,以探索其可能性。当与flatMap结合使用时,其行为与预期不符。请在下面找到代码片段。 String[][] strArray = {{"Sample1", "Sample2"}, {"Sample3", "Sample4", "Sample5"}}; Arrays.stream(strArray) .flatMap(indStream -&gt; Arrays.stream(indStream)) .takeWhile(ele -&gt; !ele.equalsIgnoreCase("Sample4")) .forEach(ele -&gt; System.out.println(ele)); 实际输出: Sample1 Sample2 Sample3 Sample5 预期输出: Sample1 Sample2 Sample3 期望的原因是takeWhile应该一直执行到内部条件变为真为止。我还在平面图中添加了打印输出语句以进行调试。流仅返回两次,这与期望一致。 但是,这在链中没有平面图的情况下也很好用。 String[] strArraySingle = {"Sample3", "Sample4", "Sample5"}; Arrays.stream(strArraySingle) .takeWhile(ele -&gt; !ele.equalsIgnoreCase("Sample4")) .forEach(ele -&gt; System.out.println(ele)); 实际输出: Sample3 此处,实际输出与预期输出匹配。 免责声明:这些摘录仅用于代码实践,不能用于任何有效的用例。 更新: 错误JDK-8193856:该修补程序将作为JDK 10的一部分提供。更改将更正whileOps …

3
如何使用Hibernate批注标记外键约束?
我正在尝试使用Hibernate批注为数据库表编写模型类。 我有两个表,每个表都有一个主键User和Question。 @Entity @Table(name="USER") public class User { @Id @Column(name="user_id") @GeneratedValue(strategy=GenerationType.AUTO) private Long id; @Column(name="username") private String username; // Getter and setter } 问题表。 @Entity @Table(name="QUESTION") public class Questions extends BaseEntity{ @Id @Column(name="question_id") @GeneratedValue(strategy=GenerationType.AUTO) private int id; @Column(name="question_text") private String question_text; // Getter and setter } 我还有一个表UserAnswer,其中有来自上面两个表的userId和questionId作为外键。 但是我无法在UserAnswer表中找到如何引用这些约束的方法。 @Entity @Table(name="UserAnswer …

5
Java REST实现:Jersey vs CXF
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 7年前关闭。 改善这个问题 您认为这两个库之间的优缺点是什么?这两个中哪一个最适合生产环境?顺便说一下,我将使用JSON而不是XML。 我也想知道社区最支持哪种库,例如教程,文档。

7
Java和.NET技术/框架的类似物
我在一家主要由Java和.NET技术人员组成的商店工作。在讨论新的解决方案和体系结构时,在比较两个阵营之间使用的各种技术,框架,API等时,我们经常遇到阻力。似乎每个营地对彼此的了解都不多,我们最终将苹果与橘子进行了比较,而忘记了蒲式耳。 在研究该主题时,我发现了这一点:Java-&gt; .Net粗略等效项 这是一个不错的列表,但还不够详尽,并且缺少关键的.NET 3.0技术和其他一些花絮。要完成该列表:Java中与.NET中以下内容的近似/近似等效(或技术组合)是什么? WCF〜= WPF〜= Silverlight〜= WF〜= 泛型〜= 扩展方法〜= Lambda表达式〜= Linq(不是Linq-to-SQL)〜= TPL〜= F#〜= IronPython〜= 铁红宝石〜= ...我还错过了其他吗? Java技术(是否有.NET等效项?): 〜= EJB 〜= WebSphere 〜=玻璃鱼 〜= JBoss应用服务器 〜= Tomcat? 请注意,我省略了链接文章中已经介绍的技术。我也想听听有关链接文章是否正确的反馈。 注意:这似乎变成了Wiki类型的文章,因此我将其标记为这样。
75 java  .net  comparison 

1
为什么javafx会扭曲半透明游标?
以下是两个PNG图片: 在视觉上它们是完全相同的-唯一的不同是一个像素的某些像素具有半透明的背景(您可以下载图像进行检查)。 但是,当我将这些图像用作JavaFX节点上的图像光标时,得到以下结果: 第一个光标(没有部分透明的像素)仍然清晰,但是第二个光标变形了。 解决了一段时间后,我发现了解决这种差异的算法-混合模式: “预期”方式(例如,您可以在此浏览器中看到)是获取每个通道的值之和,并以alpha值加权:(1 - alpha) * background_color + alpha * foreground_color。 “ JavaFX Cursor”给出了不同的公式:((1 - alpha) * background_color + alpha^2 * foreground_color请注意方框)。 我发现了这种失真,但是我无法弄清楚自己做错了什么以及如何解决此问题。 这是我的测试程序的完整可运行源代码: import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import javafx.scene.ImageCursor; import javafx.scene.image.Image; public class HelloWorld extends Application { public static void …
75 java  javafx 

4
接口中的Java转换
有人可以向我解释一下,编译器在第一次强制转换中不会抱怨,而在第二次强制转换中会抱怨吗? interface I1 { } interface I2 { } class C1 implements I1 { } class C2 implements I2 { } public class Test{ public static void main(){ C1 o1 = new C1(); C2 o2 = new C2(); Integer o3 = new Integer(4); I2 x = (I2)o1; //compiler does not …

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.