草庐IT

private-constructor

全部标签

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

java - False Unused "private"方法应该被移除

我认为我们的Sonar安装(5.6和java插件4.0)存在误报。对于以下代码,应删除未使用的“私有(private)”方法问题:publicbooleanorderLineHasDetails(OrderLineorderLine){booleanresult=orderLine.getContractDevices()!=null&&orderLine.getContractDevices().size()>0;if(result){result=asLeastOneUniqueId(orderLine.getContractDevices());}returnresult;}pr

java - Lambda 表达式可以访问其范围之外的类的私有(private)方法吗?

我想获得对java.lang.String包私有(private)构造函数的反射访问。即,这个:/**Packageprivateconstructorwhichsharesvaluearrayforspeed.*thisconstructorisalwaysexpectedtobecalledwithshare==true.*aseparateconstructorisneededbecausewealreadyhaveapublic*String(char[])constructorthatmakesacopyofthegivenchar[].*/String(char[]valu

java - 如何模拟私有(private) setter/getter ?

这个问题在这里已经有了答案:Howmockprivatemethodthatmodifyprivatevariables?(3个答案)关闭7年前。我有一个要测试的类(class)。它看起来类似于:publicclassClassUnderTest{privateDependency1dep1;privateDependency1getDependency1(){if(dep1==null)dep1=newDependency1();returndep1;}publicvoidmethodUnderTest(){....dosomethinggetDependency1().Invoke

java - Jersey Restful 失败,错误为 "java.lang.NoSuchMethodException: Could not find a suitable constructor"

基于Jersey的简单restful代码importjavax.ws.rs.ApplicationPath;importjavax.ws.rs.core.Application;importcom.yakima.core.webservice.resource.UserResource;importorg.glassfish.jersey.jettison.JettisonFeature;importorg.glassfish.jersey.server.ResourceConfig;importjava.util.HashSet;importjava.util.Set;importj

java - IntelliJ 正在生成私有(private) getter

几周来我的IntelliJ一直在生成私有(private)getter,这很奇怪,因为它不遵守默认模板:public###if($field.modifierStatic)static###end$field.type###set($name=$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field,$project))))#if($field.boolean&&$field.primitive)#if($StringUti

java - "private final Object"锁在java多线程中有什么用?

Java多线程中“privatefinalObject”锁定的用途是什么?就我的理解而言,我认为要使一个类成为线程安全的,我们应该在我们将所有方法标记为同步的地方使用内部锁定,然后使用“this”将它们锁定在对象的监视器上?或者我们可以用方法内部的私有(private)最终对象锁替换在类的“this”上标记为同步的方法,以锁定通用对象锁以使其线程安全?例如使用内部锁定的代码:publicclassCounter{//Locksontheobject'smonitorpublicsynchronizedvoidchangeValue(){//...}我们可以用下面的外部锁替换上面的代码:

Unity 问题之 打包真机运行报错 MissingMethodException: Default constructor not found for type xxxxxx 问题处理

Unity问题之打包真机运行报错MissingMethodException:Defaultconstructornotfoundfortypexxxxxx问题处理目录Unity问题之打包真机运行报错MissingMethodException:Defaultconstructornotfoundfortypexxxxxx问题处理一、简单介绍二、问题现象三、解决方式一、简单介绍Unity在开发中,记录一些报错问题,以便后期遇到同样问题处理。二、问题现象1、可能大家会遇到类似System.MissingMethodException:Defaultconstructornotfoundforty

JDK9或者以上版本出现Unable to make field private final byte[] java.lang.String.value accessible异常

1.原因        这个问题是由于Java9中的模块化导致的。为了提高Java的安全性,Java9引入了模块系统,该系统可以控制不同模块之间的访问权限。模块系统将Java分成了若干个可以独立部署和运行的模块,使得Java应用可以更快地启动并更好地利用硬件资源。2.解决方案①编辑配置②编辑VMoptions(如果没有使用快捷键alt+v)③配置内容--add-opensjava.base/java.lang=ALL-UNNAMED--add-opensjava.base/java.lang.reflect=ALL-UNNAMED--add-opensjava.base/java.lang.i