草庐IT

method_idx

全部标签

java - 如何使用 "Static factory methods"而不是构造函数?

有效的java说“考虑提供静态工厂方法而不是构造函数”如果你有一个classA{publicstaticAgetInstance(){returnnewA();}}为类A提供这个方法,而不是在代码中调用newA()有意义吗? 最佳答案 见here为了很好地说明您可能想要这样做的主要原因。总结:命名为“构造函数”。如果合适,可以返回null。如果合适,可以返回派生类的实例。在实例化泛型类型的变量时减少冗长。想到文章没有提到的另一个原因:可以实现有趣的逻辑来避免一直创建新对象(基于参数的缓存、回收等)。

java - "method ___() in ___ is defined in inaccessible class or interface"编译错误

我发现了一个奇怪的编译限制,我无法解释,我不明白这个限制的原因。示例1:考虑这些类:在包e1;:publicclassC1{enumE1{A,B,C}publicE1x;}在包e2;:importe1.C1;publicclassC2{publicStringtest(C1c1){returnc1.x.toString();//herecompilationerror}}这会导致以下编译错误:Error:(5,20)java:toString()injava.lang.Enumisdefinedinaninaccessibleclassorinterface示例2:考虑这些类:在包i1

java - 为什么 `System.out.println(null);` 给出 "The method println(char[]) is ambiguous for the type PrintStream error"?

我正在使用代码:System.out.println(null);显示错误:Themethodprintln(char[])isambiguousforthetypePrintStream为什么null不代表Object? 最佳答案 PrintStream中有3个println方法接受引用类型-println(charx[]),println(字符串x),println(Objectx).当你传递null时,所有3都适用。方法重载规则更喜欢具有最具体参数类型的方法,因此不选择println(Objectx)。那么编译器无法在前两者之

javax.persistence.Entitymanager : remove() method

EntityManager的remove(Objectentity)方法是否仅适用于从find()方法获得的对象?我有以下代码片段:publicvoiddeletePerson(){EntityManagerem=getEntityManager();Personp=newPerson("x","y",200);em.remove(p);}但它不会从数据库中删除特定条目。当我尝试如下操作时:publicvoiddeletePerson(){EntityManagerem=getEntityManager();Personp=em.find(Person.class,200);em.re

java - "//TODO Auto Generated method stub"是什么意思?

一直都在看,找不到简单的描述。 最佳答案 这意味着您的IDE(或其他工具)已自动为您生成了一个方法,但将主体留空由您填写(这称为“stub”)。在你的情况下,它可能是Eclipse。 关于java-"//TODOAutoGeneratedmethodstub"是什么意思?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9712810/

java - 安卓ndk : Problem for call of Java method from c++ with jni

我尝试在AndroidNDK上工作,我的第一次测试不是很确定,我需要帮助,因为我看不出我的错误在哪里。以下代码编译没有问题,但在模拟器上运行时,程序返回SIGSEGV信号,并且logcat中没有显式写入错误。但是,会出现指示找不到Java类的警告。经过一天对这个问题的研究,一切看起来都是正确的。这是我的Java代码:JNITestActivity.javapackagecom.test.jnitest;importandroid.app.Activity;importandroid.os.Bundle;importandroid.util.Log;publicclassJNITestA

java - Joshua Bloch 的有效 Java : Item1 - Static Factory Method

我正在阅读JoshuaBloch的EffectiveJava,我对Item1StaticFactoryMethod有疑问。引述[布洛赫,第7页]Interfacescanthavestaticmethods,sobyconvention,staticfactorymethodsforaninterfacenamedTypeareputinnon-instantiableclassnamedTypes.Forexample,theJavaCollectionsFramework,provideunmodifiablecollections,synchronizedcollections,

java - Apache POI 3.9 : WorkbookFactory method not found

在我的应用程序中,我使用ApachePOI3.8进行XLS文件处理。现在我想迁移到ApachePOI3.9最新且稳定的版本。我在我的应用程序中添加了JAR文件poi-3.9-20121203.jar并删除了与POI3.8相关的JAR。但似乎在3.9版本中,WorkbookFactory类已被删除。那么如何在ApachePOI3.9中使用WorkbookFactory创建一个Workbook?我提取JAR并检查,没有像WorkbookFactory这样的类。谁能告诉我如何使用POI3.9创建新工作簿? 最佳答案 您缺少几个JAR。看看

java - C# 相当于 Java 8 "method reference"

我最近有机会调整一些Java代码并能够利用一些新的Java8功能。在一种特殊情况下,我需要从对象列表中获取(字符串).Name属性列表。我所做的一个简化示例是://sampledata:objectshaveasingleStringpropertycalled"Name"ListthingList=newArrayList(Arrays.asList(newThing("Thing1"),newThing("Thing2")));//firstpassListnameList=newArrayList();thingList.forEach(x->nameList.add(x.get

Java 8 : Interface with static methods instead of static util class

当我需要一堆无状态实用程序方法时,Java8中的最佳实践是什么。拥有一个不会由任何人实现的接口(interface),即publicinterfaceSignatures和publicinterfaceEnvironments是否正确,或者这样做更好它是旧的方式-有publicfinalclassSignatures和publicfinalclassEnvironments和私有(private)构造函数||枚举? 最佳答案 接口(interface)的主要目的是提供一种类型和对该类型的操作(方法)词汇表。它们非常有用且灵活,因为它