草庐IT

CALL_NON_FUNCTION_AS_CONSTRUCTOR

全部标签

Java 8 : method reference to a static method in a non-static way

我正在研究用于OCP考试的新StreamAPI,我发现了一些我不太理解的东西。这是我的代码:voidmethodOne(){this.compare(1,2);//Thisworksfine.Stream.of(1,2,3).sorted(this::compare);//Compilationerror.}staticIntegercompare(Integers1,Integers2){return0;}这里我有一个名为compare的静态方法和一个名为compare的非静态方法。如果我从非静态方法调用比较方法,我会收到编译器警告:Themethodcompare(Integer,

java - IllegalArgumentException:Java Constructor.newInstance() 中的参数数量错误

考虑以下代码,publicclassStartUp{publicStartUp(String[]test){}publicstaticvoidmain(String[]args)throwsException{Constructorcd=StartUp.class.getConstructor(String[].class);System.out.println(cd.newInstance(newString[]{}).toString());}}这是怎么回事?我得到以下异常:Exceptioninthread"main"java.lang.IllegalArgumentExcept

Java 8 无法导入 java.util.function

我正在尝试导入包java.util.function但我不断收到以下错误:FP.java:2:error:cannotfindsymbolimportjava.util.function;^symbol:classfunctionlocation:packagejava.util我已确认我使用的是jdk1.8.0_11(使用javac-version)。 最佳答案 这不是你导入包的方式,这个importjava.util.function;应该是importjava.util.function.*;导入java.util.funct

Java 错误 : The constructor is undefined

在Java中,为什么会出现此错误:Error:TheconstructorWeightIn()isundefinedJava代码:publicclassWeightIn{privatedoubleweight;privatedoubleheight;publicWeightIn(doubleweightIn,doubleheightIn){weight=weightIn;height=heightIn;}publicvoidsetWeight(doubleweightIn){weight=weightIn;}publicvoidsetHeight(doubleheightIn){hei

java - 为什么在 Java 1.8 中使用 Function<V,R> 而不是 Function<R,V>?

这个顺序看起来很奇怪,因为在常规Java中,返回类型总是首先指定。如:publicstaticdoublesum(Iterablenums){...}那么,为什么在Function和BiFunction类中选择以相反的方式指定它们呢?如:interfaceFunctioninterfaceBiFunction我不是在这里征求关于哪个更好的意见,但具体来说:a)优先选择一个顺序是否有任何技术或其他(非风格)好处?还是随意选择?b)是否有人知道任何书面解释,或来自权威来源的任何陈述原因,为什么选择一个而不是另一个?旁白:如果扩展到更高层次,这个顺序似乎更加奇怪。例如,一个假设的QuadFu

java - 为什么在 Java 中创建 SSL 套接字时会出现错误 "Cannot store non-PrivateKeys"?

我正在使用较旧的IBMiSeries(IBM-i、i5OS、AS/400等),在O/S版本V5R3M0上使用Java5JVM(Classic,而非ITJJ9)。简而言之,这里是场景:我使用Portecle1.7创建了一个JKS类型的keystore(注意:我曾尝试将我的keystore转换为JCEKS,但由于格式不受支持而被拒绝,因此JKS似乎是iSeries机器的唯一选择(至少是我使用的版本)。然后我创建了一个key对和CSR,并将CSR发送给Thawte进行签名。我使用PKCS#7格式从Thawte成功导入了签名证书以导入整个证书链,其中包括我的证书、Thawte中介和Thawte

java - 如何检测 ‘Save as PDF…’ 是从 OS X 上的 AWT PrinterJob 中选取的

我有以下代码在我的Java应用程序中显示native打印对话框。PrinterJobjob=PrinterJob.getPrinterJob();PrintRequestAttributeSetatts=newHashPrintRequestAttributeSet();atts.add(DialogTypeSelection.NATIVE);if(job.printDialog(atts)){PrintServicenewlyUsedService=job.getPrintService();DocPrintJobdocJob=newlyUsedService.createPrint

java - Jersey 2.0 通过代理获取 Post Call

我正在使用Jersey2.4.1进行休息,并希望通过HTTP和HTTPS代理进行GET或Post调用。我做不到。我在互联网上搜索并找到了很多链接,但其中大部分现在已经过时了。一些帮助将非常有用,因为从Jersey1.X到2.X有很多变化这是我进行GET调用的代码(工作正常)。我想修改它以通过HTTP和HTTPS代理进行此调用。任何指示都会有所帮助。javax.ws.rs.core.Responseresponse=null;Clientclient=ClientBuilder.newClient();WebTargettarget=client.target(url);//urliss

java - 强化高 : Access specifier manipulation on reflection that is used to invoke a private constructor

我使用反射来调用类的私有(private)构造函数,以解决Sonar扫描报告显示的分支覆盖不足问题。这是我正在工作的代码片段://reflectiontoaccessaprivateconstructorofaclassConstructorc=CMISBridgeMaps.class.getDeclaredConstructor(newClass[0]);c.setAccessible(true);cmisBridgeMaps=c.newInstance(newObject[0]);以上代码解决了我的Sonar扫描关键问题。但不幸的是,fortify现在在以下行中显示访问说明符操作问

java - JUnit 测试 : Suppress enum constructor by mocking?

我知道可以模拟单个枚举(使用HowtomockanenumsingletonclassusingMockito/Powermock?),但我有1000个枚举值,它们可以调用5个不同的构造函数。枚举值在开发过程中经常发生变化。我只想为我的JUnit测试模拟一两个。我不关心其余的,但它们仍然是实例化的,这会调用一些讨厌的东西,从文件系统加载枚举的值。是的,我知道这是非常糟糕的设计。但现在我没有时间更改它。目前我们正在使用Mockito/powermock。但是任何可以解决这个问题的框架sh**我的意思是欢迎糟糕的设计。假设我有一个与此类似的枚举:publicstaticenumMyEnum