Questions tagged «java»

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

4
为什么在Java 8中转换类型的reduce方法需要组合器
我无法完全理解combinerStreams reduce方法中扮演的角色。 例如,以下代码不会编译: int length = asList("str1", "str2").stream() .reduce(0, (accumulatedInt, str) -> accumulatedInt + str.length()); 编译错误说:( 参数不匹配; int无法转换为java.lang.String) 但是这段代码可以编译: int length = asList("str1", "str2").stream() .reduce(0, (accumulatedInt, str ) -> accumulatedInt + str.length(), (accumulatedInt, accumulatedInt2) -> accumulatedInt + accumulatedInt2); 我知道合并器方法用于并行流中,因此在我的示例中将两个中间累积的int加在一起。 但是我不明白为什么第一个示例没有组合器就无法编译,或者组合器是如何将字符串转换为int的,因为它只是将两个int加在一起。 谁能阐明这一点?
141 java  java-8  java-stream 

8
从Jackson 2.2的ObjectMapper漂亮地打印JSON
现在,我有一个实例,org.fasterxml.jackson.databind.ObjectMapper并希望String使用漂亮的JSON 来获取一个。Google搜索的所有结果都提供了Jackson 1.x的实现方法,而我似乎找不到使用2.2的正确,不建议使用的方法。即使我不认为代码对于此问题绝对必要,这也是我现在拥有的: ObjectMapper mapper = new ObjectMapper(); mapper.setSerializationInclusion(Include.NON_NULL); System.out.println("\n\n----------REQUEST-----------"); StringWriter sw = new StringWriter(); mapper.writeValue(sw, jsonObject); // Want pretty version of sw.toString() here
140 java  json  jackson 


3
初始化Guava ImmutableMap
番石榴提供了一个不错的快捷方式来初始化地图。但是,当我的地图初始化为9个条目时,出现以下编译器错误(Eclipse Indigo)。 of(K, V, K, V, K, V, K, V, K, V)类型中的方法ImmutableMap不适用于参数 (String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) ImmutableMap<String,String> myMap = ImmutableMap.of( "key1", "value1", "key2", "value2", "key3", "value3", "key4", "value4", "key5", "value5", "key6", "value6", "key7", "value7", "key8", "value8", …
140 java  dictionary  guava 

3
为什么String.split需要对管道定界符进行转义?
我试图解析一个文件,该文件的每一行都用管道定界值。当我没有在split方法中转义管道定界符时,它不能正常工作,但是在我如下所示转义管道后,它却可以正常工作。 private ArrayList<String> parseLine(String line) { ArrayList<String> list = new ArrayList<String>(); String[] list_str = line.split("\\|"); // note the escape "\\" here System.out.println(list_str.length); System.out.println(line); for(String s:list_str) { list.add(s); System.out.print(s+ "|"); } return list; } 有人可以解释为什么该split()方法需要转义管道字符吗?
140 java  regex  string 

8
!=检查线程安全吗?
我知道诸如之类的复合操作i++不是线程安全的,因为它们涉及多个操作。 但是,检查引用本身是否是线程安全的操作? a != a //is this thread-safe 我尝试对此进行编程,并使用多个线程,但没有失败。我想我无法在机器上模拟种族。 编辑: public class TestThreadSafety { private Object a = new Object(); public static void main(String[] args) { final TestThreadSafety instance = new TestThreadSafety(); Thread testingReferenceThread = new Thread(new Runnable() { @Override public void run() { long countOfIterations = 0L; while(true){ boolean …

6
Java:有地图功能吗?
我需要一个地图功能。Java中已经有类似的东西了吗? (对于那些想知道的人:我当然知道如何自己实现这个琐碎的功能...)
140 java  map-function 

10
java.lang.UnsupportedClassVersionError:.class文件中的版本号错误?
当我包含必须从源代码编译的开源库时,出现此错误。现在,网络上的所有建议都表明该代码是在一个版本中编译并在另一版本(旧版本中是新版本)中执行的。但是,我的系统上只有一个JRE版本。如果我运行命令: $ javac -version javac 1.5.0_18 $ java -version java version "1.5.0_18" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_18-b02) Java HotSpot(TM) Server VM (build 1.5.0_18-b02, mixed mode) 并在Eclipse中检查Java库的属性,我得到 1.5.0_18 因此,我必须得出结论,类本身内部的其他东西会引发异常?那有可能吗?
140 java  version 

11
Javadoc的好例子
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 有一个包含Javadoc的源文件的好例子吗? 我可以在Internet上找到很多很好的Javadoc示例,我只是想找出创建它们的特定语法,并假设我可以在某个地方浏览某些库的源代码,但这似乎需要很多工作。
140 java  javadoc 

11
如何在Java中将currentTimeMillis转换为日期?
我在服务器中生成的某些日志文件中有毫秒,我也知道从中生成日志文件的语言环境,我的问题是将毫秒转换为指定格式的日期。该日志的处理在不同时区的服务器上进行。转换为“ SimpleDateFormat”时,程序将使用机器的日期,因为这种格式化的日期并不代表服务器的正确时间。有什么办法可以优雅地处理吗? long yourmilliseconds = 1322018752992l; //1322018752992-Nov 22, 2011 9:25:52 PM SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS",Locale.US); GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("US/Central")); calendar.setTimeInMillis(yourmilliseconds); System.out.println("GregorianCalendar -"+sdf.format(calendar.getTime())); DateTime jodaTime = new DateTime(yourmilliseconds, DateTimeZone.forTimeZone(TimeZone.getTimeZone("US/Central"))); DateTimeFormatter parser1 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss,SSS"); System.out.println("jodaTime "+parser1.print(jodaTime)); 输出: Gregorian Calendar -2011-11-23 08:55:52,992 jodaTime 2011-11-22 21:25:52,992
140 java  date 

11
警告-构建路径指定执行环境J2SE-1.4
我在Eclipse Helios中创建一个Maven项目。它一天可以正常工作,但是随后出现此警告: 构建路径指定执行环境J2SE-1.4。工作区中没有安装与该环境严格兼容的JRE。 从出现此消息以来,项目停止了编译和调试。有人对此问题有解决方案吗?
140 java  eclipse  maven-2 

5
Java的虚拟机和CLR
作为对MSIL和Java字节码之间差异的问题的一种跟进?,Java虚拟机的工作方式与Java虚拟机的主要(主要)区别或相似之处是什么.NET Framework 公共语言运行库(CLR)是否有效? 另外,是 .NET框架 CLR是“虚拟机”还是不具有虚拟机的属性?

11
使用Spring Security进行单元测试
我公司一直在评估Spring MVC,以确定我们是否应该在我们的下一个项目中使用它。到目前为止,我喜欢我所看到的内容,现在,我正在研究Spring Security模块,以确定是否可以/应该使用它。 我们的安全要求非常基本。用户只需要能够提供用户名和密码即可访问网站的某些部分(例如获取有关其帐户的信息);并且网站上的页面很少(常见问题解答,支持等),应该为匿名用户提供访问权限。 在我创建的原型中,我已经在Session中为经过身份验证的用户存储了一个“ LoginCredentials”对象(其中仅包含用户名和密码)。例如,某些控制器检查此对象是否在会话中,以获取对登录用户名的引用。我正在寻找用Spring Security替换这种自生的逻辑,这将具有消除“我们如何跟踪已登录用户的方式”的好处。和“我们如何验证用户身份?” 从我的控制器/业务代码。 看来Spring Security提供了(每个线程)“上下文”对象,以便能够从您应用程序中的任何位置访问用户名/主要信息... Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); ...在某种程度上似乎很不像Spring,因为该对象是一个(全局)单例。 我的问题是这样的:如果这是在Spring Security中访问有关已认证用户的信息的标准方法,那么将Authentication对象注入SecurityContext的可接受的方法是什么,以便当单元测试需要一个认证用户? 我是否需要在每个测试用例的初始化方法中进行连接? protected void setUp() throws Exception { ... SecurityContextHolder.getContext().setAuthentication( new UsernamePasswordAuthenticationToken(testUser.getLogin(), testUser.getPassword())); ... } 这似乎太冗长了。有更容易的方法吗? 该SecurityContextHolder对象本身看起来非常不像Spring ...

8
为什么Java中没有常量功能?
我试图确定Java常量背后的原因,我了解到Java允许我们使用final关键字声明常量。 我的问题是Java为什么不引入Constant(const)功能。因为很多人说它来自C ++,所以在C ++中我们有const关键字。 请分享您的想法。
140 java  constants  final 

7
Java的SQL解析器库
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 是否存在用于解析SQL语句的开源Java库? 如果可能,它应该具有足够的可自定义性或灵活性,以能够解析(或至少忽略)特定于供应商的语法(例如Oracle表空间定义或MySQL的LIMIT子句)。 如果不是,严格遵守SQL标准也是可以的。 更新:我需要两件事: 提供到非SQL数据库的SQL接口(映射到内部API调用) 在将SQL转到实际数据库(例如Oracle)之前重写SQL
140 java  sql  parsing 

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.