草庐IT

class_methods

全部标签

java - 为什么是 Class.forName ("BumpTest"),而不是 BumpTest.class?

在JLSSec8.4.3.6,synchronizedmethods,它说:classBumpTest{//...staticsynchronizedvoidclassBump(){classCount++;}}hasexactlythesameeffectas:classBumpTest{//...staticvoidclassBump(){try{synchronized(Class.forName("BumpTest")){classCount++;}}catch(ClassNotFoundExceptione){}}}这对我来说很奇怪,更不用说过于复杂了:为什么使用Class.

java - 面向对象设计 : generic handling of sub classes that introduce new fields

这是一个我一直遇到的设计问题,所以我想我最终会把它放在那里,看看人们会如何处理它。问题如下:我确定了一个特定的类,它大部分描述了我将使用的对象的所有实例,包括行为和数据方面的。这很好,适用于基本对象。然后出现了一些其他类型的对象,它们需要相同的数据和行为,但还希望在这里或那里有一个额外的字段,或者一个额外的数据结构。让我们称这个类为Something:publicclassSomething{privateintid;privateStringfieldA;privateStringfieldB;privateListlist;//Thenwehavegetters,setters,a

java - 通缉 : Recurrence Formula of In-Order binary tree output method

我在寻找这个java方法的递推公式时遇到了麻烦voidprintInorder(Nodev){if(v!=null){printInorder(v.getLeft());System.out.println(v.getData());printInorder(v.getRight());}}一些标准:它是一棵完全二叉树(每个内结都有2个child,每片叶子的深度相同)这棵树有n个节点,复杂度为O(n)我必须找到与n结的树的深度h相关的递归公式,作为额外的奖励,我需要外推显式从中得出O(n)的公式。现在,这就是我得到的:d=depthofthetreec=constantruntimef

java - 调用接受 Class<T> 并返回 T 的泛型方法时,如何返回特定类型的列表?

我正在使用这个签名从一个库中调用一个方法:publicTget(Classc)我想要一个List作为返回值。但是这样调用它不会编译(“无法从参数化类型中选择”):ListmyClasses=get(List.class);这会编译,但会给出警告:ListmyClasses=get(List.class);警告说“未经检查的分配”。我怎样才能避免此警告并避免转换我的名单? 最佳答案 您在这里使用的是泛型,因此列表中项目的基础类型在运行时已被删除,编译器知道它无法在编译时为您检查它,因此出现警告。如果您在这里使用通用类型,您将无法避免警

java - 如何配置 jdee `find-class-source-file` 以使用 Cassandra 源代码树?

我正在尝试为即将开始的Java项目安装Emacs+JDEE,但我无法让JDEE正常工作。我想解决的第一个问题是能够跳转到给定类名的源文件。我正在使用Cassandrasource作为我使用JDEE的Playground。我已经设置了一个新的Ubuntu12.04VM和Emacs23.3.1作为我的测试环境。我正在使用默认Ubuntu存储库中的openjdk-1.6并且JDEE似乎正在使用它。我下载了jdeetarball并将其解压到~/.emacs.d中。Cassandra源代码树被checkout到~/cassandra。我的~/.emacs.d/init.el包含以下内容:(set

java.lang.Class 泛型和通配符

为什么下面的代码编译不通过?interfaceIface{}classImplimplementsIface{}classTestCase{staticClass>clazz=Impl.class;}错误是java:incompatibletypes:java.lang.Classcannotbeconvertedtojava.lang.Class>但我不明白为什么通配符没有捕获。 最佳答案 这里的子类型关系是:Class╱╲Class>Class(我在对'CannotconvertfromListtoList>'的回答中对此进行了

java - jackson 错误 : No such method com. fasterxml.jackson.core.JsonGenerator.setCurrentValue(Ljava/lang/Object;)V

我正在开发一个Spring-MVC应用程序,从早上开始,当我调用一个特定的Controller方法时,我收到了与Jackson相关的错误。由于没有具体指出错误所在的行,因此我查找并发现这是一个POM问题。我从周五开始才添加了Google和Dropbox依赖项,这个问题似乎正在发生。我已经尝试排除Jackson-mapper,但不走运。错误日志:SEVERE:Servlet.service()forservlet[appServlet]incontextwithpath[]threwexception[Handlerprocessingfailed;nestedexceptionisja

java - 我如何在 Eclipse jdt ui 中获取父类(super class)节点?

我这里有一个代码:publicclassTestOverride{intfoo(){return-1;}}classBextendsTestOverride{@Overrideintfoo(){//error-quickfixtoadd"returnsuper.foo();"}}如您所见,我已经提到了错误。我正在尝试在eclipsejdtui中为此创建一个quickfix。但是我无法获得类TestOverride的类B的父类(superclass)节点。我试过下面的代码if(selectedNodeinstanceofMethodDeclaration){ASTNodetype=sel

JAVA - Class 类和 *.class 文件之间的区别?

*.class文件和Class类API之间有些东西我不明白。让我解释一下:我有一个代表java类的文件A.java:publicclassA{...}Classclazz=A.class;当我编译A.java时,我得到一个A.class文件(字节码)。A.class文件(字节码)和代表实例类(A.class)的clazz之间有什么关系吗?它们是同一回事吗?谢谢 最佳答案 *.class文件是磁盘上的文件,A.class是内存中的类对象。 关于JAVA-Class类和*.class文件之间

Java - 将类型传递给父类(super class)静态方法

假设我有一个简单的类:publicclassTestClass{publicStringfield1="Field1";publicStringfield2="Field2";publicStringfield3="Field3";}我的项目中有多个pojo类,我希望能够将每个对象序列化为json。所以我创建了新的Serializer类(gson用于序列化):publicclassSerializer{publicStringtoJson(){returnnewGson().toJson(this);}}我的示例类扩展了Serializer:publicclassTestClassex