Tag: java

Javadoc的好例子

有一个包含Javadoc的源文件的好例子吗? 我可以在互联网上find很多Javadoc的例子,我只想找出用来创build它们的特定语法,并且假设我可以在某个图书馆的某个地方挖掘出一些东西,但这看起来像是很多工作。

断言一个对象是一个特定的types

在JUnit中是否有可能断言一个对象是一个类的实例? 由于各种原因,我在我的testing中有一个对象,我想检查的types。 它是一种Object1还是一种Object2? 目前我有: assertTrue(myObject instanceof Object1); assertTrue(myObject instanceof Object2); 这工作,但我想知道是否有一个更具performance力的方式做到这一点。 比如像这样的东西: assertObjectIsClass(myObject, Object1); 我可以这样做: assertEquals(myObject.class, Object1.getClass()); 是否有一个特定的断言方法,允许我以更优雅,stream畅的方式testing一个对象的types?

在运行时,查找扩展基类的Java应用程序中的所有类

我想要做这样的事情: List<Animal> animals = new ArrayList<Animal>(); for( Class c: list_of_all_classes_available_to_my_app() ) if (c is Animal) animals.add( new c() ); 所以,我想看看我的应用程序的所有的类,当我find一个从动物下降,我想创build一个新types的对象,并将其添加到列表中。 这使我可以添加function,而不必更新的东西列表。 我可以避免以下情况: List<Animal> animals = new ArrayList<Animal>(); animals.add( new Dog() ); animals.add( new Cat() ); animals.add( new Donkey() ); … 通过上面的方法,我可以简单地创build一个扩展Animal的新类,它会自动拾取。 更新date:2008年10月16日上午9:00太平洋标准时间: 这个问题产生了很多很好的答案 – 谢谢。 从答复和我的研究中,我发现我真正想要做的事情在Java下是不可能的。 有一些方法,比如ddimitrov的ServiceLoader机制可以工作 – 但是对于我想要的,它们非常沉重,我相信我只是将问题从Java代码移动到外部configuration文件。 另一种expression我想要的方式:我的Animal类中的静态函数查找并实例化所有inheritance自Animal的类 – 不需要任何进一步的configuration/编码。 如果我必须configuration,不妨将它们在Animal类中实例化。 我明白,因为一个Java程序只是一个松散的.class文件联合,就是这样。 有趣的是,在C#中这似乎相当微不足道 […]

了解Java 8中的Spliterator,Collector和Stream

我无法理解Java 8中的Stream接口,特别是与Spliterator和Collector接口有关的接口。 我的问题是,我简直无法理解Spliterator和Collector接口,结果Stream接口对我来说仍然有些模糊。 Spliterator和Collector究竟是什么,我怎样才能使用它们? 如果我愿意写我自己的Spliterator或Collector (也许是我自己的Stream在这个过程中),我该怎么做,而不是做什么? 我阅读了一些散布在networking上的例子,但由于这里的一切都是新的,可能会有所变化,示例和教程仍然非常稀less。

安装Java JDK 7之后对于Mac OS X – mvn -version仍然显示java版本1.6.0_31

Oracle在4月26日发布了针对Mac OS X的Java JDK 7。我遵循了安装说明,当我在terminal窗口中执行java -version时,我得到: java version "1.7.0_04" Java(TM) SE Runtime Environment (build 1.7.0_04-b21) Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode) 但是当我在terminal窗口中执行mvn -version ,我得到: Apache Maven 3.0.2 (r1056850; 2011-01-08 18:58:10-0600) Java version: 1.6.0_31, vendor: Apple Inc. Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home Default locale: en_US, platform encoding: MacRoman OS name: "mac os x", version: "10.7.3", […]

如何在IntelliJ IDEA中的参数列表内部调用方法后添加分号?

我终于通过Eclipse使航行回到了IntelliJ。 目前我的Eclipse的设置是这样的,如果我现在有一个这样的语句(其中^表示我的光标当前所在的位置): foo.bar("hello"^) 我打了分号(;)键,它会自动把分号放在声明的最后: foo.bar("hello"); 目前IntelliJ执行此操作: foo.bar("hello";) 这意味着我必须在input分号之前明确地input右括号。 不是一个很大的问题,但我发现自己今天几次把分号放在错误的地方,因为我转换回IntelliJ,并认为这可能是更有效的(对于我的手指和大脑)没有键入右括号。

如何从Java 8中的LocalDateTime获取毫秒

我想知道是否有一种方法可以使用Java 8的新LocalDate , LocalTime或LocalDateTime类从1-1-1970(epoch)获取当前毫秒数。 已知的方式如下: long currentMilliseconds = new Date().getTime(); 要么 long currentMilliseconds = System.currentTimeMillis();

Spring类path前缀差异

在这里logging它说 这个特殊的前缀指定必须获得与给定名称相匹配的所有类path资源(在内部,这本质上是通过ClassLoader.getResources(…)调用),然后合并以形成最终的应用程序上下文定义。 有人可以解释这个吗? 使用classpath*:conf/appContext.xml与不使用星号的classpath:conf/appContext.xml什么不同。

在IntelliJ IDEA下使用Lombok时无法编译项目

我在使用IntelliJ IDEA 11开发的项目中尝试使用Lombok 。 我已经为IDEA安装了第三方插件,看起来工作正常,因为IDEA可以看到所有自动生成的方法/字段。 所以我有一个使用Slf4j的类。 我这样注释它 import lombok.extern.slf4j.Slf4j; @Slf4j public class TestClass { public TestClass() { log.info("Hello!"); } } 但是当我build立我的项目编译器吐出: cannot find symbol variable log 。 你能告诉我我在这里错过了什么吗? 更新:原来是RequestFactory注解过程失败。 input files: {com.zasutki.courierApp.server.TestServlet, com.mine.courierApp.server.model.DatastoreObject} annotations: [javax.inject.Singleton, javax.inject.Inject, lombok.Getter, lombok.Setter, com.googlecode.objectify.annotation.Id, com.googlecode.objectify.annotation.OnSave] Processor com.google.web.bindery.requestfactory.apt.RfValidator matches [lombok.Getter, com.googlecode.objectify.annotation.Id, javax.inject.Inject, lombok.Setter, com.googlecode.objectify.annotation.OnSave, javax.inject.Singleton] and returns false. cannot find symbol […]

将文本中心与androidalignment

我知道这听起来很容易。 我需要把一个文本放在中间,但是当文本太长,它需要下面,但仍然在我的xml中心alignment。 这是我的代码: <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/showdescriptioncontenttitle" android:paddingTop="10dp" android:paddingBottom="10dp" android:layout_centerHorizontal="true" > <TextView android:id="@+id/showdescriptiontitle" android:text="Title" android:textSize="35dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 我把填充顶部和底部,因为我需要一些空间。 PS:我的代码更大, 它在一个RelativeLayout中。