草庐IT

new_variable

全部标签

Java:使用 assertEquals 测试系统输出,包括 "new lines"

我目前正在为策略设计模式编写单元测试。我正在将系统输出与assertEquals方法中的字符串进行比较。输出看起来相同,但我的测试一直失败......。我在想我忘记了与新行或制表符有关的事情?我的单元测试:importstaticorg.junit.Assert.*;importjava.io.ByteArrayOutputStream;importjava.io.PrintStream;importorg.junit.After;importorg.junit.Before;importorg.junit.Test;publicclassMiniDuck1Test{privatefi

java - 编译时间 : no instance(s) of type variable(s) U exist

以下语句虽然毫无意义,但在句法上是合理的。finalStreamfoobar=IntStream.empty().flatMap(x->IntStream.empty().mapToObj(y->IntStream.empty().mapToLong(z->1)));//compilationerrorhereon`z->1`但是它不编译,返回:java:incompatibletypes:badreturntypeinlambdaexpressionnoinstance(s)oftypevariable(s)Uexistsothatjava.util.stream.Streamcon

java - 根据 JLS(6.4.2。模糊)的 "obscuring"的代码示例,尤其是这个 "local variable or type can obscure a package"

你能举几个模糊的例子(代码片段)吗?我读了JLS,但我不明白这个概念。JLS没有给出代码示例。隐藏在Base类和Derived类的字段之间。阴影在字段和局部变量之间。模糊-在什么(?)和什么(?)之间旁白:有趣的是,JLS说如果从父类中隐藏相应的字段不会继承:Shadowingisdistinctfromhiding(§8.3,§8.4.8.2,§8.5,§9.3,§9.5),whichappliesonlytomemberswhichwouldotherwisebeinheritedbutarenotbecauseofadeclarationinasubclass.Shadowing

java - 将 Velocity 配置为在未定义的 $variable 上失败

当$var未定义时,Velocity是否可以配置为失败(即抛出异常)。这种“快速失败”策略将有助于我们的测试周期。 最佳答案 在Velocity1.6中,您可以将以下属性添加到您的velocity.propertiesruntime.references.strict=true编辑:此处提供完整的配置列表:http://velocity.apache.org/engine/devel/configuration.html 关于java-将Velocity配置为在未定义的$variable

java :Why the Local variable should be declared final

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:IsthereanyperformancereasontodeclaremethodparametersfinalinJava?Whywouldonemarklocalvariablesandmethodparametersas“final”inJava?我正在使用PMD查看代码违规情况。在webService方法中,我有下面的代码publicServiceRequestgetData(){Statusstatus=newStatus();//code}PMD给我的建议是,这个局部变量状态可以声明为final

java - 为什么使用 new 运算符创建的字符串会在字符串池中创建字符串文字

我的问题是,当我们将String声明为Stringa=newString("abc");时,在字符串池和堆上创建字符串对象有什么好处?当我们将字符串创建为Stringa="abc"时,为什么不在堆中创建字符串。 最佳答案 java语言就是这么设计的。双引号之间使用的任何内容都是编译时常量并进入字符串池。所以,在你的情况下:Stringa=newString("abc");“abc”将被解析为编译时常量,因此将被添加到当前JVM的字符串常量池中。接下来,a的值将在运行时解析,并在运行时添加到堆中。

java - keySet().toArray(new Double[0]) 是做什么的?

下面的返回是做什么的?我如何使用该值:privateMaptheLabels=newHashMap();publicDouble[]getTheLabels(){returntheLabels.keySet().toArray(newDouble[0]);}这是正确的吗?Double[]aD=theClassInQuestion.getTheLabels();提前致谢。胡志明 最佳答案 这是正确的,但是,除非theLabels为空,否则强制重新分配数组。这是一个替代方案:publicDouble[]getTheLabels(){re

java微优化: combine set of boolean instance variables to bit vector based on int

我们有一个包含很多实例的类,遇到了内存问题。因此,我们尽量减少这个类的内存需求。一种想法如下。该类有许多boolean实例变量,在天真的实现中,每个实例变量都会占用一个词。可以考虑将它们组合成一个存储在int中的微型位vector,这样它们的组合内存需求就是一个字。但我怀疑JavaVM无论如何都会进行这种优化,因此手动执行它不会获得任何额外的节省。对吧? 最佳答案 boolean值使用1个字节的内存(在热点上)。您可以使用替代方案:一个BitSet:每个boolean值大约使用1位+类本身的开销、对BitSet的引用、对BitSet

java - new Double(someString) 和 Double.parseDouble(someString) 有什么区别

据我所知,newDouble(someString)和Double.parseDouble(someString)给我的结果完全相同。我有什么理由想要使用一个而不是另一个吗? 最佳答案 一个返回Double;另一个,double。本文讨论了原始Java类型和对应的包装器类型之间的差异,例如here. 关于java-newDouble(someString)和Double.parseDouble(someString)有什么区别,我们在StackOverflow上找到一个类似的问题:

java - (String)value 和 value.toString() , new Long(value) 和 (Long)value 之间的区别

在一些地方我看到了(String)value。在一些地方value.toString()这两者有什么区别,在什么情况下我需要使用哪一个。newLong(value)和(Long)value有什么区别? 最佳答案 (String)value将对象值转换为字符串,它必须扩展String。value.toString()调用对象值的方法,该方法继承自类Object,此方法返回显示此对象信息的字符串。如果您有一些yourClass值,建议覆盖toString()newLong(value)创建Long类型的新对象并将Long的值设置为您的变