Questions tagged «java»

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


8
在Java枚举中使用==可以吗?
是否可以==在Java枚举中使用,还是需要使用.equals()?在我的测试中,它==始终有效,但是我不确定是否可以保证。特别是,.clone()在枚举上没有方法,因此我不知道是否有可能获得一个枚举,该枚举.equals()将返回不同于的值==。 例如,这样可以吗: public int round(RoundingMode roundingMode) { if(roundingMode == RoundingMode.HALF_UP) { //do something } else if (roundingMode == RoundingMode.HALF_EVEN) { //do something } //etc } 还是我需要这样写: public int round(RoundingMode roundingMode) { if(roundingMode.equals(RoundingMode.HALF_UP)) { //do something } else if (roundingMode.equals(RoundingMode.HALF_EVEN)) { //do something } //etc }
111 java  syntax  enums 

11
Java:ArrayList-如何检查索引是否存在?
我正在使用ArrayList<String>并且在特定索引处添加数据,如何检查特定索引是否存在? 我应该简单地get()检查一下值吗?还是应该等待例外?还有另一种方法吗? 更新资料 感谢您的回答,但是由于我仅在特定索引处添加内容,因此列表的长度不会向我显示可用的内容。
111 java  arraylist 

7
Java8 Lambdas与匿名类
自从Java8最近发布以来,它的全新lambda表达式看起来真的很酷,我想知道这是否意味着我们曾经习惯的Anonymous类的消亡。 我对此进行了一些研究,发现了一些很酷的示例,这些示例说明Lambda表达式将如何系统地替换这些类,例如Collection的sort方法,该方法用于获取Comparator的Anonymous实例来执行排序: Collections.sort(personList, new Comparator<Person>(){ public int compare(Person p1, Person p2){ return p1.firstName.compareTo(p2.firstName); } }); 现在可以使用Lambdas完成: Collections.sort(personList, (Person p1, Person p2) -> p1.firstName.compareTo(p2.firstName)); 而且看起来简明扼要。所以我的问题是,是否有任何理由继续在Java8中使用这些类而不是Lambda? 编辑 同样的问题,但方向相反,使用Lambdas代替Anonymous类有什么好处,因为Lambdas只能与单个方法接口一起使用,此新功能仅是仅在少数情况下使用的快捷方式,还是真的有用吗?


7
为什么未定义Java的布尔原始大小?
在Java虚拟机规范说有布尔有限的支持原始类型。 没有Java虚拟机指令专门用于布尔值的操作。相反,将对布尔值进行操作的Java编程语言中的表达式编译为使用Java虚拟机int数据类型的值。 以上暗示(尽管我可能会误解了)在对布尔值进行操作时使用了int数据类型,但这是一个32位内存构造。假设布尔值仅表示1位信息: 为什么不将字节(或简称)类型用作布尔值而不是int的代理? 对于任何给定的JVM,最确切地找出用于存储布尔类型的内存量的最可靠方法是什么?
111 java  boolean 

11
Java中的相似字符串比较
我想相互比较几个字符串,并找到最相似的字符串。我想知道是否有任何库,方法或最佳实践会返回我哪些字符串与其他字符串更相似的字符串。例如: “狐狸跳了”->“狐狸跳了” “狐狸跳了”->“狐狸” 该比较将返回第一个比第二个更相似。 我想我需要一些方法,例如: double similarityIndex(String s1, String s2) 某处有这样的东西吗? 编辑:为什么我要这样做?我正在编写一个脚本,该脚本将MS Project文件的输出与处理任务的某些旧系统的输出进行比较。由于传统系统的字段宽度非常有限,因此在添加值时将省略描述。我想要一种半自动化的方法来查找MS Project中的哪些条目与系统上的条目相似,以便获得生成的密钥。它有缺点,因为它仍然必须手动检查,但是会节省很多工作

2
Java未检查:varargs参数的未检查通用数组创建
我已将Netbeans设置为在我的Java代码中显示未经检查的警告,但是我无法理解以下几行的错误: private List<String> cocNumbers; private List<String> vatNumbers; private List<String> ibans; private List<String> banks; ... List<List<String>> combinations = Utils.createCombinations(cocNumbers, vatNumbers, ibans); 给出: [unchecked] unchecked generic array creation for varargs parameter of type List<String>[] 方法来源: /** * Returns a list of all possible combinations of the entered array of lists. * * …

11
如何在Jackson上使用自定义序列化程序?
我有两个要使用Jackson序列化为JSON的Java类: public class User { public final int id; public final String name; public User(int id, String name) { this.id = id; this.name = name; } } public class Item { public final int id; public final String itemNr; public final User createdBy; public Item(int id, String itemNr, User createdBy) …


13
受接口保护
为什么interface定义中的所有方法都是隐式的public?为什么不允许使用protected方法?
111 java  interface 


3
如何在Java中将BigDecimal转换为Double?
我们如何在Java中转换BigDecimal成Double?我有一个要求,我们必须使用Double作为参数,但是我们越来越明白了,BigDecimal所以我必须转换BigDecimal成Double。
111 java 

4
JsonMappingException:超出START_ARRAY令牌
给定以下.json文件: [ { "name" : "New York", "number" : "732921", "center" : [ "latitude" : 38.895111, "longitude" : -77.036667 ] }, { "name" : "San Francisco", "number" : "298732", "center" : [ "latitude" : 37.783333, "longitude" : -122.416667 ] } ] 我准备了两个类来表示所包含的数据: public class Location { public String name; public …
111 java  arrays  json  jackson 

4
Lambda表达式和通用方法
假设我有一个通用接口: interface MyComparable<T extends Comparable<T>> { public int compare(T obj1, T obj2); } 和方法sort: public static <T extends Comparable<T>> void sort(List<T> list, MyComparable<T> comp) { // sort the list } 我可以调用此方法并将lambda表达式作为参数传递: List<String> list = Arrays.asList("a", "b", "c"); sort(list, (a, b) -> a.compareTo(b)); 那会很好的。 但是现在,如果我将接口设为非泛型,并且将方法设为泛型: interface MyComparable { public <T extends …
111 java  generics  lambda  java-8 

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.