草庐IT

make_printable

全部标签

java - Java 中的接口(interface) : cannot make implemented methods protected or private

我知道接口(interface)必须是公共(public)的。但是,我不希望那样。我希望我实现的方法只能从它们自己的包中访问,所以我希望我实现的方法受到保护。问题是我无法保护接口(interface)或实现的方法。什么是变通方法?是否有与此问题相关的设计模式?根据Java指南,抽象类也无法完成这项工作。 最佳答案 阅读this.“公共(public)访问说明符表示该接口(interface)可以被任何包中的任何类使用。如果您不指定该接口(interface)是公共(public)的,那么您的接口(interface)将只能被定义在与

java - JUnit 断言 : make the assertion between floats

我需要比较两个值:一个是字符串,另一个是float所以我将字符串转换为float,然后尝试调用assertEquals(val1,val2)但这未经授权,我猜assertEquals不接受float作为参数。在这种情况下,我的解决方案是什么? 最佳答案 您必须为Floats的断言提供一个增量:Assert.assertEquals(expected,actual,delta)虽然delta是预期和实际之间的最大差异(delta),但两个数字仍被视为相等。Assert.assertEquals(0.0012f,0.0014f,0.00

java - IDEA JetBrains IntelliJ - 'make' 上的编译错误,但使用 Maven 编译时很好,并且 IntelliJ 在类文件中没有报告错误

所以我在IntelliJ中有一个maven模块(模块-A)。我最近将一些类从它移到另一个新的maven模块(模块-B)并添加了一个依赖项。完成此操作后,我还修改了已移动类之一的方法的签名(现在在模块-B中)。我重新导入了pom,以便IntelliJ能够获取依赖项更改并确保受影响文件的所有Java导入再次正确。现在,当我尝试运行我的webapp(这取决于两个模块)时,我在模块A中的一个类中调用模块B中类的修改方法时遇到编译错误。错误消息基本上是说该方法不存在,但认为旧方法仍然存在!我单击“make”错误,它会将我带到模块A中调用修改后的方法的类中的行……奇怪的是,IntelliJ知道它在

Java 泛型 - Make Generic 扩展 2 个接口(interface)

你是如何做到这一点的:publicclassFrankenstein{}不做publicinterfaceWeirdoextendsIhuman,IMonster{}编辑为什么这不起作用?publicvoidmapThis(Class>key,Classvalue){}我收到编译器消息标记Class作为错误。 最佳答案 Reimeus已经指出,您在编辑中要求的内容是不可能的。我只是想详细说明一下原因。有人会认为您可以使用以下内容:publicvoidmapThis(Class>key,Classvalue){...}事实上,当我第一

java - 如何解决 InaccessibleObjectException ("Unable to make {member} accessible: module {A} does not ' opens {package }' to {B}") on Java 9?

在Java9上运行应用程序时,此异常发生在多种场景中。某些库和框架(Spring、Hibernate、JAXB)特别容易出现这种情况。这是来自Javassist的示例:java.lang.reflect.InaccessibleObjectException:Unabletomakeprotectedfinaljava.lang.Classjava.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)throwsjava.lang.ClassFormatE

java自定义注解: make an attribute optional

我定义了自己的自定义注解@Target(value={ElementType.METHOD,ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)public@interfaceMyCustomAnnotation{ClassmyType();}如果有的话,我怎样才能使属性成为可选的 最佳答案 您可以provideadefaultvalue对于属性:@Target(value={ElementType.METHOD,ElementType.FIELD})@Retention(Re

java - SONAR 提示 Make the enclosure method "static"or remove this set

我的程序中有以下代码,在将其与Maven集成后,我正在运行SonarQube5以对其进行代码质量检查。但是,Sonar要求将封闭方法设为“静态”或删除此集合。方法是setApplicationContext。如何消除此错误?为什么会出现这个错误?publicclassSharedContextimplementsApplicationContextAware{publicstaticfinalStringREPORT_ENGINE_FACTORY="reportEngineFactory";privatestaticApplicationContextapplicationContex

Kotlin 和 Dagger : Can I use @Inject to an object still make it nullable/optional?

由于某些设备上发生的运行时错误,我需要一些可以使我的类为空/可选的东西。这可能吗?classMyFragmentextendsFragment{@Injectvarpresenter:MyPresenter?=null//Othercodeshere...}我想使用presenter作为选项,因为某些旧的Android设备尤其会抛出此错误(这是在我删除lazyinit之前)。代码:classMyFragmentextendsFragment{@Injectlazyinitvarpresenter:MyPresenter?=null//Othercodeshere...overridef

android - Android Studio 中 make 和 build 的区别

AndroidStudioBuild菜单的选项包括MakeProjectRebuildProject我应该什么时候使用它们? 最佳答案 大多数时候您应该使用MakeProject。有时,在添加库并对项目进行重大更改后,您应该使用RebuildProject。如果您查看菜单,您会看到MakeProject和Compile有键盘快捷键,这表明它们经常被使用。其他的很少使用。与IntelliJIdea相同。CompileAllthesourcefilesinthespecifiedscopearecompiled.Thescopeinth

android - 谷歌地图 API v2 : How to make markers clickable?

如何使AndroidGoogleMapsAPIv2中的标记变为可点击状态,以便它们可以调出带有选项的菜单或开始新的Activity?我相信我目前在我的应用程序中使用“newb”方法制作了标记。我没有为它们分配名称或方法,以便能够将其与所需的其余代码链接起来。googleMap.addMarker(newMarkerOptions().position(latLng).title("MySpot").snippet("Thisismyspot!").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE