Questions tagged «java»

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

7
Java中是否有一种方法可以在不尝试创建文件的情况下确定路径是否有效?
我需要确定用户提供的字符串是否是有效的文件路径(即,如果 createNewFile()成功或抛出异常),但我不想使用仅出于验证目的而创建的无用文件来膨胀文件系统。 有没有一种方法可以确定我拥有的字符串是否是有效的文件路径,而无需尝试创建文件? 我知道“有效文件路径”的定义因操作系统而异,但是我想知道是否有任何快速的接受C:/foo或/foo拒绝方法banana。 一种可能的方法是尝试创建文件,如果创建成功,则最终将其删除,但我希望有一种更优雅的方法来实现相同的结果。



9
为什么HashMap值不转换为List?
我正在将值放入形式的哈希图中, Map<Long, Double> highLowValueMap=new HashMap<Long, Double>(); highLowValueMap.put(1l, 10.0); highLowValueMap.put(2l, 20.0); 我想通过使用values()map方法创建一个列表。 List<Double> valuesToMatch=new ArrayList<>(); valuesToMatch=(List<Double>) highLowValueMap.values(); 要么 List<Double> valuesToMatch=(List<Double>) highLowValueMap.values(); 但是,它将引发异常: 线程“主”中的异常java.lang.ClassCastException: java.util.HashMap $ Values无法转换为java.util.List 但是它允许我将其传递给列表的创建: List<Double> valuesToMatch = new ArrayList<Double>( highLowValueMap.values());




4
用Jackson将反序列化的JSON反序列化为多态类型-一个完整的示例给我一个编译错误
我正在尝试浏览Programmer Bruce的教程,该教程应该允许多态JSON的反序列化。 完整列表可在此处找到 Programmer Bruce教程(很棒的东西) 我已经完成了前五项工作,没有任何问题,但是我在最后一项中遇到了麻烦(示例6),这当然是我真正需要工作的部分。 编译时出现以下错误 ObjectMapper类型的方法readValue(JsonParser,Class)不适用于参数(ObjectNode,Class) 这是由代码块引起的 public Animal deserialize( JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { ObjectMapper mapper = (ObjectMapper) jp.getCodec(); ObjectNode root = (ObjectNode) mapper.readTree(jp); Class<? extends Animal> animalClass = null; Iterator<Entry<String, JsonNode>> elementsIterator = root.getFields(); while (elementsIterator.hasNext()) { Entry<String, JsonNode> element=elementsIterator.next(); String name = …

1
存储库模式-如何理解它以及它如何与“复杂”实体一起工作?
我很难理解存储库模式。 关于该主题有很多意见,例如在Repository模式中做得正确,但其他信息,例如Repository是新的Singleton或再次出现,例如在不要使用DAO中使用Repository或只是以某种方式使用Spring JPA Data + Hibernate + MySQL + MAVEN存储库似乎与DAO对象相同。 我厌倦了阅读这些东西,因为恕我直言,这在很多文章中都不是一件难事。 我看到的是这样的:看来我想要的是这样的: ------------------------------------------------------------------------ | Server | ------------------------------------------------------------------------ | | | | Client <-|-> Service Layer <-|-> Repository Layer <-|-> ORM / Database Layer | | | | | ------------------------------------------------------------------------ 在Service Layer需要*DTO的对象,并将这些的Repository Layer,基本上不外乎谁知道“的家伙”怎么一个实体可以存储。 例如,假设您具有一些工具的组合(请注意,这只是伪代码) @Entity class ToolSet { @Id public Long …

3
Java等于一个类。= =与.equals相同
我们可以==对Class变量执行而不是equals期望相同的结果吗? 例如: Class clazz = xyz; 案例A: if(clazz == Date.class) { // do something } 情况B: if(Date.class.equals(clazz)) { // do something } 案例A和案例B在功能上是否相同?
77 java 


8
获取java.net.SocketTimeoutException:Android中的连接超时
我是android开发的新手。我正在开发一个android应用程序,其中我向Web服务器发送请求并解析json对象。我经常java.net.SocketTimeoutException: Connection timed out在与服务器通信时遇到异常。有时它会完美地工作而不会出现任何问题。我知道这个问题已经问过很多次了。但是我仍然没有得到令人满意的解决方案。我在下面发布了我的logcat和应用程序服务器通信代码。 public JSONObject RequestWithHttpUrlConn(String _url, String param){ HttpURLConnection con = null; URL url; String response = ""; Scanner inStream = null; PrintWriter out = null; try { url = new URL(_url); con = (HttpURLConnection) url.openConnection(); con.setDoOutput(true); con.setRequestMethod("POST"); if(param != null){ con.setFixedLengthStreamingMode(param.getBytes().length); } con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); out = new …

12
websocket自动关闭连接
我正在用Java构建具有基于码头的嵌入式websocket服务器的应用程序。客户端是google chrome中的默认websocket实现。只有在关闭连接一段时间后,服务器和客户端之间没有传输,一切都可以正常进行。我不确定是谁关闭了连接:码头服务器或Chrome浏览器。 我认为解决此问题的方法是每x秒发送一条消息,但是我愿意接受更好的解决方案。 所以...我的问题是: 这是websocket协议要求的吗?在这种情况下,chrome浏览器正在关闭我的连接? 这是与码头有关的更多东西,或多或少与websocket协议有关吗?在这种情况下,如何在码头上禁用它? 还有另一个问题吗? 谢谢 更新:即使我每秒发送1条消息,连接仍然关闭

24
Eclipse / Maven错误:“此环境中未提供编译器”
我是Java企业开发领域的新手。我组织的Java专家正在无休假中休假,并且已经分配了维护他开发的某些Java应用程序的任务。他离开之前,在我的计算机上用Maven设置了Eclipse [Kepler SR1],并且看来工作正常。 现在,我准备部署我的第一个修改并需要运行Maven install,但是我无法使其正常工作-我在控制台上获得以下输出: [错误]无法在项目mrpapp上执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:compile(默认编译):编译失败 [ERROR]在此环境中未提供编译器。也许您是在JRE而不是JDK上运行? 但我肯定在运行JDK,而不是JRE。我仔细检查了我的$JAVA_HOME(C:\Program Files (x86)\Java\jdk1.7.0_60),它的目录中确实有一个。javac.exebin 我附上我的pom.xml文件副本供您审核。我确定其中存在导致问题的原因,但是我不确定可能是什么原因。我使用的是Windows 7 64位笔记本电脑,如果您需要其他平台/环境信息,我也可以提供。 任何帮助将不胜感激。
77 java  eclipse  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.