Questions tagged «java»

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

1
NET中的java.lang.IllegalStateException?
为说明java.lang.IllegalStateException从Java文档: 表示已在非法或不适当的时间调用了方法。换句话说,对于所请求的操作,Java环境或Java应用程序没有处于适当的状态。 IllegalStateException.NET框架中是否有等效项?
84 java  .net  exception 

8
上课前的Junit(非静态)
是否有任何最佳实践让Junit在测试文件中执行一次功能,并且它也不应该是静态的。 像@BeforeClass非静态功能? 这是一个丑陋的解决方案: @Before void init(){ if (init.get() == false){ init.set(true); // do once block } } 好吧,这是我不想做的事情,我正在寻找集成的junit解决方案。
84 java  junit 

9
如何使用Gson解析JSON数组
我想解析JSON数组并使用gson。首先,我可以记录JSON输出,服务器清楚地响应客户端。 这是我的JSON输出: [ { id : '1', title: 'sample title', .... }, { id : '2', title: 'sample title', .... }, ... ] 我尝试了这种结构进行解析。一个类,该类取决于单个JSONArrayarray和ArrayList所有JSONArray。 public class PostEntity { private ArrayList<Post> postList = new ArrayList<Post>(); public List<Post> getPostList() { return postList; } public void setPostList(List<Post> postList) { this.postList = (ArrayList<Post>)postList; } …
84 java  android  arrays  json  gson 

12
在Java中使用相对路径打开资源
在我的Java应用程序中,我需要获取一些文件和目录。 这是程序结构: ./main.java ./package1/guiclass.java ./package1/resources/resourcesloader.java ./package1/resources/repository/modules/ -> this is the dir I need to get ./package1/resources/repository/SSL-Key/cert.jks -> this is the file I need to get guiclass 加载resourcesloader类,该类将加载我的资源(目录和文件)。 至于文件,我试过了 resourcesloader.class.getClass().getResource("repository/SSL-Key/cert.jks").toString() 为了获得真实的路径,但是这种方式行不通。 我不知道如何执行目录。

9
Android:context.getDrawable()的替代方法
我context.getDrawable()在项目中使用过这样的代码: Drawable greenProgressbar = context.getDrawable(R.drawable.custom_progressbargreen); 但是Eclipse给我一个错误,它需要一个Minimum API level of 21。这意味着经过Google的快速搜索后,我的APP只能在上使用Android 5.0。由于并非所有设备都在使用此版本的android,因此我希望有一个替代版本context.getDrawable()。

4
Java 8 Comparator类型推论非常困惑
我一直在研究Collections.sort和之间的区别list.sort,特别是在使用Comparator静态方法以及lambda表达式中是否需要参数类型方面。在开始之前,我知道我可以使用方法引用Song::getTitle来解决问题,例如,这里的查询不是我想要修复的东西,而是我想要解决的东西,即Java编译器为什么以这种方式处理它。 这些是我的发现。假设我们有一个ArrayListtype Song,添加了一些歌曲,有3种标准的get方法: ArrayList<Song> playlist1 = new ArrayList<Song>(); //add some new Song objects playlist.addSong( new Song("Only Girl (In The World)", 235, "Rhianna") ); playlist.addSong( new Song("Thinking of Me", 206, "Olly Murs") ); playlist.addSong( new Song("Raise Your Glass", 202,"P!nk") ); 这是对两种有效的排序方法的调用,没问题: Collections.sort(playlist1, Comparator.comparing(p1 -> p1.getTitle())); playlist1.sort( Comparator.comparing(p1 -> p1.getTitle())); 一旦开始链接thenComparing,就会发生以下情况: Collections.sort(playlist1, …

5
在ExecutorService上调用shutdown()的原因
我读它颇有几分在过去的几个小时,我根本看不到任何理由(有效的理由)来调用shutdown()的ExecutorService,除非我们有一个巨大的应用程序,商店,几十个几十个不同的执行服务,不用于很长时间。 关闭(根据我的收集)唯一要做的事情是完成正常线程后所做的事情。当普通线程完成Runnable(或Callable)的run方法时,它将传递给Garbage Collection进行收集。使用Executor Service,线程将被简单地搁置,它们不会被选中以进行垃圾回收。为此,需要关机。 好,回到我的问题。有什么理由ExecutorService经常要求关机,甚至在提交某些任务后立即关机?我想抛弃有人正在做的情况,然后在awaitTermination()此之后立即调用,因为这已得到验证。一旦完成此操作,就必须重新创建一个新文件ExecutorService,以执行相同的操作。难道不是ExecutorService要重用线程的整个想法吗?那么,为什么要ExecutorService这么快就销毁呢? 简单地创建ExecutorService(或根据您需要的数量进行耦合),然后在应用程序运行期间将任务传给他们,然后在应用程序退出或其他重要阶段关闭这些执行程序,这是一种合理的方法吗? ? 我想从一些经验丰富的编码人员那里得到答案,他们确实使用ExecutorServices编写了许多异步代码。 第二个问题,与android平台的交易要小一些。如果你们中的某些人会说每次关闭执行程序都不是最好的主意,而您在android上编程,能否告诉我当我们处理不同的事件时如何处理这些关闭(具体来说-在执行时)应用程序生命周期。 基于CommonsWare的评论,我将该帖子设为中立。我真的对争论到死不感兴趣,而且看来它正在领先。我只想从经验丰富的开发人员那里了解到我在这里问的内容,如果他们愿意分享他们的经验。谢谢。

7
e.getMessage()和e.getLocalizedMessage()之间的区别
我在执行错误处理时使用这两种方法来获取catch块抛出的消息 他们俩都从错误处理中得到了我的消息,但是两者的区别到底是什么 我从互联网上搜索了一些内容,然后从这里想出了这个答案 Java异常从Throwable继承其getMessage和getLocalizedMessage方法(请参见相关链接)。区别在于子类应重写getLocalizedMessage以提供特定于语言环境的消息。例如,想象一下您正在将代码从一个说英语的公司/组改编为一个英语-英语组。您可能需要创建自定义Exception类,该类将覆盖getLocalizedMessage,以将拼写和语法正确化为将使用您的代码的用户和开发人员所期望的内容。这也可以用于异常消息的实际翻译。 问题:: 这意味着language specific实现吗?就像如果我使用e.getLocalizedMessage()我的应用程序English-错误将被抛出English,如果我使用我的应用程序Spanish-那么错误将被抛出Spanish 需要在何时何地可以使用这些方法的清楚说明
84 java  android 

5
用Java创建地图
我想创建一个map包含以下项的条目(int, Point2D) 如何用Java做到这一点? 我尝试了以下失败。 HashMap hm = new HashMap(); hm.put(1, new Point2D.Double(50, 50));
84 java  map 

6
从数组创建可变列表?
我有一个要转换为的数组List,以修改数组的内容。 堆栈溢出有大量的问题/答案的该地址Arrays.asList(),以及它如何仅提供底层阵列的列表视图,以及如何试图操纵所得列表将通常抛出UnsupportedOperationException如用来操纵列表(例如方法add(),remove()等)是未由提供的List实现实现Arrays.asList()。 但是我找不到如何将数组变成可变列表的示例。我想我可以遍历数组和put()每个值到一个新的List中,但是我想知道是否存在一个接口可以为我执行此操作。
84 java  arrays  list  mutable 

10
Java错误:比较方法违反其一般约定
我看到了很多与此有关的问题,并尝试解决了该问题,但是经过一个小时的搜索和大量的试验和错误后,我仍然无法解决。我希望你们中的一些人能抓住问题。 这是我得到的: java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835) at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453) at java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:392) at java.util.ComparableTimSort.sort(ComparableTimSort.java:191) at java.util.ComparableTimSort.sort(ComparableTimSort.java:146) at java.util.Arrays.sort(Arrays.java:472) at java.util.Collections.sort(Collections.java:155) ... 这是我的比较器: @Override public int compareTo(Object o) { if(this == o){ return 0; } CollectionItem item = (CollectionItem) o; Card card1 = CardCache.getInstance().getCard(cardId); Card card2 = CardCache.getInstance().getCard(item.getCardId()); …

5
原因:java.security.UnrecoverableKeyException:无法恢复密钥
我提供了一个名为ABCC_client.store的jks密钥库。当我将此密钥库导入到cacerts并尝试连接时,提示没有此类算法错误。PFA堆栈跟踪 Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl) at java.security.Provider$Service.newInstance(Provider.java:1245) at sun.security.jca.GetInstance.getInstance(GetInstance.java:220) at sun.security.jca.GetInstance.getInstance(GetInstance.java:147) at javax.net.ssl.SSLContext.getInstance(SSLContext.java:125) at javax.net.ssl.SSLContext.getDefault(SSLContext.java:68) at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:102) at org.apache.axis.components.net.JSSESocketFactory.initFactory(JSSESocketFactory.java:61) at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:79) ... 32 more Caused by: java.security.UnrecoverableKeyException: Cannot recover key at sun.security.provider.KeyProtector.recover(KeyProtector.java:311) at sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:121) at sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:38) at java.security.KeyStore.getKey(KeyStore.java:763) at com.sun.net.ssl.internal.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:113) at com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:48) …




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.