Questions tagged «java»

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

19
Java中私有静态变量的用途是什么?
如果将变量声明为public static varName;,则可以从任意位置访问它ClassName.varName。我还知道,静态成员由类的所有实例共享,并且不在每个实例中重新分配。 声明变量与声明变量有private static varName;什么不同private varName;吗? 在这两种情况下,都不能以任何其他类ClassName.varName或ClassInstance.varName任何其他类的形式对其进行访问。 将变量声明为静态变量是否赋予它其他特殊属性?

30
Java递归斐波那契序列
请解释以下简单代码: public int fibonacci(int n) { if(n == 0) return 0; else if(n == 1) return 1; else return fibonacci(n - 1) + fibonacci(n - 2); } 我对最后一行感到困惑,尤其是因为例如,如果n = 5,则将调用fibonacci(4)+ fibonacci(3),依此类推,但我不理解该算法如何以此来计算索引5的值方法。请详细解释!

3
Maven在理论上和实践上做什么?什么时候值得使用?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我将开始一个Java项目只是为了练习。我已经读过有关Maven的文章,但实际上我并不了解何时应该使用它。 能给我一些实用的技巧吗?Maven有很多帮助吗?Maven实际上为我的项目做什么?
156 java  maven 

12
如何配置Logback以将记录器的不同级别记录到不同的目的地?
如何配置Logback以将记录器的不同级别记录到不同的目的地? 例如,给定以下Logback配置,Logback会将INFO消息记录到STDOUT并将ERROR消息记录到STDERR吗? (请注意,此示例是第3章:Logback配置中logback-examples/src/main/java/chapters/configuration/sample4.xml所示示例的变形)。 <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern> %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> </appender> <appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern> %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> <target>System.err</target> </appender> <!-- What is the effective level of "chapters.configuration"? --> <logger name="chapters.configuration" level="INFO" additivity="false"> <appender-ref ref="STDOUT" /> </logger> …
156 java  logging  logback 

17
如何简化一个空安全的compareTo()实现?
我正在compareTo()为这样的简单类实现方法(以便能够使用Collections.sort()和Java平台提供的其他功能): public class Metadata implements Comparable<Metadata> { private String name; private String value; // Imagine basic constructor and accessors here // Irrelevant parts omitted } 我希望这些对象的自然排序是:1)按名称排序,以及2)如果名称相同,则按值排序;两种比较均应不区分大小写。对于这两个字段,空值都是完全可以接受的,因此compareTo在这些情况下不得中断。 我想到的解决方案是遵循以下思路的(我在这里使用“保护子句”,而其他人可能更喜欢单个返回点,但是这很重要): // primarily by name, secondarily by value; null-safe; case-insensitive public int compareTo(Metadata other) { if (this.name == null && other.name != null){ return …

22
如何在Java中将1200格式化为1.2k
我想用java将以下数字格式化为它们旁边的数字: 1000 to 1k 5821 to 5.8k 10500 to 10k 101800 to 101k 2000000 to 2m 7800000 to 7.8m 92150000 to 92m 123200000 to 123m 右边的数字将是long或整数,而左边的数字将是字符串。我应该如何处理。我已经为此做了很少的算法,但是我认为可能已经发明了一些更好的方法,并且如果我开始处理数十亿和数万亿,则不需要额外的测试:) 其他要求: 格式最多可包含4个字符 以上意味着1.1k是可以的11.2k不是。同样对于7.8m可以19.1m不可以。小数点前只能有一位数字。小数点前两位表示小数点后两位。 不需要四舍五入。(带有k和m附加显示的数字更多地是模拟量规,而不是精确的逻辑术语。因此,舍入主要由于变量的性质而无关紧要,即使在查看缓存的结果时,舍入也不会增加或减少几位数。)

5
迭代ConcurrentHashMap值线程安全吗?
在javadoc中,ConcurrentHashMap如下: 检索操作(包括get)通常不会阻塞,因此可能与更新操作(包括put和remove)重叠。检索反映了自发生以来最新完成的更新操作的结果。对于诸如putAll和clear的聚合操作,并发检索可能仅反映某些条目的插入或删除。同样,迭代器和枚举返回的元素反映了在创建迭代器/枚举时或此后某个时刻哈希表的状态。他们不抛出ConcurrentModificationException。但是,迭代器被设计为一次只能由一个线程使用。 这是什么意思?如果我尝试同时使用两个线程迭代地图,会发生什么情况?如果在迭代过程中从地图上放置或删除值会怎样?

10
为什么Java程序员喜欢将变量命名为“ clazz”?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 去年关闭。 改善这个问题 我已经看到很多代码都有声明,例如Class clazz,它来自哪里?这是某种约定吗?我认为'clazz'甚至不是一个英文单词,根本没有任何意义,那么多的程序员又怎能巧称一个错误的名字呢?

9
从Java访问Kotlin扩展功能
是否可以从Java代码访问扩展功能? 我在Kotlin文件中定义了扩展功能。 package com.test.extensions import com.test.model.MyModel /** * */ public fun MyModel.bar(): Int { return this.name.length() } MyModel(生成的)java类在哪里。现在,我想用普通的Java代码访问它: MyModel model = new MyModel(); model.bar(); 但是,这不起作用。IDE无法识别该bar()方法,并且编译失败。 起作用的是与kotlin的静态函数一起使用: public fun bar(): Int { return 2*2 } 通过使用import com.test.extensions.ExtensionsPackage我的IDE似乎已正确配置。 我从kotlin文档中搜索了整个Java互操作文件,并且在谷歌上搜索了很多,但是找不到。 我究竟做错了什么?这有可能吗?

18
将JSON字符串转换为HashMap
我正在使用Java,并且有一个JSON字符串: { "name" : "abc" , "email id " : ["abc@gmail.com","def@gmail.com","ghi@gmail.com"] } 然后我的Java地图: Map<String, Object> retMap = new HashMap<String, Object>(); 我想将来自JSONObject的所有数据存储在该HashMap中。 谁能为此提供代码?我想使用org.json图书馆。
156 java  json  dictionary 

30
使用Java将文件从一个目录复制到另一个目录
我想使用Java将文件从一个目录复制到另一个目录(子目录)。我有一个包含文本文件的目录dir。我遍历dir中的前20个文件,并想将它们复制到dir目录中的另一个目录中,该目录是我在迭代之前创建的。在代码中,我想将review(代表ith文本文件或审阅)复制到trainingDir。我怎样才能做到这一点?似乎没有这样的功能(或者我找不到)。谢谢。 boolean success = false; File[] reviews = dir.listFiles(); String trainingDir = dir.getAbsolutePath() + "/trainingData"; File trDir = new File(trainingDir); success = trDir.mkdir(); for(int i = 1; i <= 20; i++) { File review = reviews[i]; }
156 java  file  directory  copy 


7
在方法参数中使用NotNull注释
我刚刚开始在@NotNullJava 8中使用注释,并获得了一些意外的结果。 我有这样的方法: public List<Found> findStuff(@NotNull List<Searching> searchingList) { ... code here ... } 我编写了一个JUnit测试,为参数searchList传递了空值。我原以为会发生某种类型的错误,但好像没有注释就通过了。这是预期的行为吗?据我了解,这是允许您跳过编写样板为空的检查代码。 对于@NotNull应该做什么的解释将不胜感激。
156 java 

16
如何查看JPA发出的SQL查询?
当我的代码发出这样的调用时: entityManager.find(Customer.class, customerID); 如何查看此调用的SQL查询?假设我无权访问数据库服务器来分析/监视调用,是否可以在IDE中记录或查看JPA调用发出的相应SQL查询?我要使用jTDS驱动程序反对SQL Server 2008 R2。
155 java  jpa 

18
通过Maven编译Java 7代码
我的pom文件列表 <project> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.12.4</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> ... 然而mvn clean install,我得到 [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] Failure executing javac, but could not parse the error: javac: invalid …
155 java  maven 

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.