问题内容: 我已经在Java的正则表达式实现中发现了一些意外行为。当使用和时,在使用Matcher的方法时,以下正则表达式在输入上 不 正确匹配: 如果更改最外层匹配组中表达式的顺序,则Matcher的方法 会 匹配。 这是一些说明此问题的测试代码。 RegexTest.java 预期的输出是: 但是实际输出是: 我已经验证了Ubuntu Linux上的Java版本1.7.0_11和OSX 10.
问题内容: 最近,我遇到了原始类型包装器类(如和)中的常量。在API中,第一个定义为: 一个常数,保持double型的正无穷大。它等于Double.longBitsToDouble(0x7ff0000000000000L)返回的值。 其他人也有同样的定义。 我遇到的麻烦是了解这些常数实际上是 什么 。他们实际上并不能 成为 或 代表 正/负无穷大,因为系统本质上是有限的。Java创建者认为仅仅是对
问题内容: 在Java中,何时应使用静态非最终变量? 例如 显然,这里我们不是在谈论常量。 根据我的经验,我经常在使用单例时对它们进行辩护,但后来我最终需要拥有多个实例,这使我感到非常头痛和重构。 似乎很少在实践中使用它们。你怎么看? 问题答案: 统计信息收集可以使用非最终变量,例如,计算创建的实例数。另一方面,对于这种情况,您可能还是要使用etc,这时可能是最终的。另外,如果您要收集多个统计信息
问题内容: 问题是创建现有对象的动态增强版本。 我无法修改的。相反,我必须: 子类化 将现有对象包装在新对象中 将所有原始方法调用委托给包装的对象 实现另一个接口定义的所有方法 要添加到现有对象的接口是: 使用Byte Buddy,我设法继承了类并实现了我的接口。问题是委派给包装的对象。我发现做到这一点的唯一方法是使用反射速度太慢(我在应用程序上负担很重,性能至关重要)。 到目前为止,我的代码是:
问题内容: 我正在使用Mozilla Rhino JavaScript模拟器。它允许我将Java方法添加到上下文中,然后像调用JavaScript函数一样调用它们。但是我无法使用它,除非使用静态方法。 问题是文档的这一部分: 如果该方法不是静态的,则Java的“ this”值将对应于JavaScript的“ this”值。任何使用不正确的Java类型的’this’值调用该函数的尝试都会导致错误。
问题内容: 我有一个需要执行两项操作的功能,一项功能完成得很快,而一项则需要很长时间才能运行。我希望能够将长时间运行的操作委派给线程,并且我不在乎线程何时完成,但是线程需要完成。我实现了如下所示的方法,但是由于函数在start()调用后退出,因此我的第二个操作从未完成。如何确保函数返回但第二个操作线程也完成其执行并且不依赖于父线程? 问题答案: 如果调用了if ,则JVM将运行if 运行它的线程未
问题内容: 我正在接管以前的开发人员的一些应用程序。当我通过Eclipse运行应用程序时,我看到内存使用率和堆大小增加了很多。经过进一步调查,我发现他们正在循环创建一个对象以及其他东西。 我开始经历并做一些清理。但是,我经历的时间越长,我就会遇到更多的问题,例如“这实际上会做什么?” 例如,他们没有在上述循环之外声明变量,而只是在循环中设置其值…而是在循环中创建了对象。我的意思是: 与 我不正确地
问题内容: 是否可以使用Java反射从另一个类实例化私有内部类。例如,如果我采用了这段代码 是否可以实例化并从main类中的main方法获得对Test的访问。 问题答案: 使用反射时,您会发现该内部类的构造函数将外部类的实例作为附加参数(总是第一个)。 例:
问题内容: 我有一个包含以下内容的文本文件: 对于每一个“要素”我总是有,而且,我需要阅读。 如果可能的话,我想使用Java 8流。 是否可以模拟switch语句的行为? 问题答案: 解析此类文件的最佳方法(不使用专用的第三方库)是通过regex API及其前端类。不幸的是,目前缺少通过Stream API实现它的最佳操作。即,并且还不存在。因此,除非我们要等到Java 9,否则我们必须为Java
问题内容: 在Java中,接口的任何使用都由抽象类实现。我知道接口的一个优点是,如果我们实现一个接口,那么我们也可以扩展另一个类。Java接口还有其他用途或优点吗? 问题答案: 您喜欢什么:在一个Abstract类中成千上万个抽象方法并继承该类,或者为特定的抽象方法创建尽可能多的接口,并通过继承所需的任意数量的接口来仅使用您想要的那些方法… 因此,仅通过继承特定接口使用该方法即可,如果您要继承类,
问题内容: Java中的实用程序类(具有静态方法的类)和Service类(具有提供“服务”的公共方法的类)之间的区别是什么?例如,有人可能会认为加密对象(提供用于加密,解密,哈希或获取盐值的方法)是服务提供者,但许多人将此功能与静态方法(如CryptoUtil.encrypt(。)组合为Utility类。)。我试图找出哪种方法可以更好地进行“设计”。有什么想法吗? 问题答案: 通过使用不同的服务对
问题内容: 我有一个对象。我想确定对象表示的类型是否实现特定的接口。我想知道如何实现? 我有以下代码。基本上,它所做的是获取指定包中所有类的数组。然后,我想遍历数组并将添加实现接口的Class对象添加到我的地图。问题是将一个对象作为参数。我无法实例化接口。所以我对此感到茫然。有任何想法吗? 问题答案: 您应该使用:
问题内容: 我怀疑我必须缺少一些非常基础的东西,但是我似乎无法从Java代码访问Scala字段: 产量: 线程“主” java.lang.Error中的异常:未解决的编译问题:字段TestScala.myNum不可见 这张Assembla票证触及了这个主题,但我的小头盖骨无法解析有用的解决方案: http://scala-ide.assembla.com/spaces/scala-ide/tick
问题内容: 我发现自己一次又一次地写同样的冗长的DOM操作代码: 现在,我不想一起切换架构,即我不想使用JDOM,JAXB或其他任何东西。只是Java的。原因是 这是关于一个古老而又大的遗留系统 XML已在许多地方使用,并且XSLT进行了多次转换以获得XML,HTML和PDF输出 我只是在寻找方便,没有什么大变化。 我只是想知道是否有一个不错的包装库(例如,使用apache commons或goo
问题内容: 我在网上阅读,可以通过将派生对象声明为瞬时对象来省略它们的序列化。但是,在链接列表的情况下,链接是对象之间的内存引用。那么,我应该将其转换为数组并存储数组表示形式吗? 问题答案: 这是Java序列化的方式:它获取所有元素并将它们与大小一起写入。当然要声明条目 请参阅的和方法: