草庐IT

make_new_type

全部标签

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 - 获取以下构建错误 : "the type {---} cannot be resolved. it is indirectly referenced from required .class files"

因此,我在Eclipse(Java)中进行了以下设置:我有一个项目(我们称之为“项目1”),它提供了一个接口(interface)(包私有(private))我有另一个项目(“项目2”),其中包含项目1的包...此包中的类扩展了“项目1”中的包私有(private)接口(interface),并提供了一个很好的公共(public)接口(interface)。现在,我有引用“项目2”的“项目3”。项目3然后使用项目2中提供的公共(public)对象。在项目3中调用项目2的构造函数后,我得到以下信息:“无法解析类型{---}。它是从所需的.class文件中间接引用的”如果我从项目3添加对项

java - Eclipse for Java 中的 "unavoidable generic type problems"是什么?

在“错误/警告”面板中设置Java编译器的首选项时,Eclipse可以配置为“忽略不可避免的泛型类型问题”。Java中这种“不可避免”的泛型类型问题是什么?忽略这些安全吗?它们什么时候出现? 最佳答案 来自thedocumentation特征:Whenenabled,thecompilerwillissueanerrororawarningevenwhenitdetectsagenerictypeproblemthatcouldnothavebeenavoidedbytheprogrammer.Asanexample,atypema

java - 为什么java已经有Object了还有Type?

我希望有人能告诉我为什么java有java.lang.reflect.Type,当一切都已经继承自Object时?有人可以举例说明我需要使用Type而不是Object的情况吗? 最佳答案 Object是所有java类的基类。Type只是所有表示类型的类的标记接口(interface)。它是在java1.5中引入的,因为在java1.5之前,除了java.lang.Class之外没有表示java类型的类。然后,当引入泛型时,需要为Class、泛型数组等创建一些通用的抽象。因此他们定义了接口(interface)Type。

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

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

java - 如何删除 xmlns :xsi and xsi:type from JAXB marshalled XML file

我有一组JAXB生成的类,其中一些类有setter方法接受“对象”作为参数。例如:@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="Car",propOrder={"defaultCar"}publicclassCar{@XmlElement(name="DefaultCar")protectedObjectdefaultcar;publicvoidsetDefaultCar(Objectvalue){this.defaultCar=value;}在我的代码中创建这些类的实例后,我调用setter方法并传入所需的值。尽管该方法的参数

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

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

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

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

java - 获取 Class<T> 的实例 [Runtime-Type Token]

我创建了一个Preferences类,并且我不想为Getters使用运行时类型token。所以这是我的getter方法:publicTget(Stringkey,Classclazz){//dosomecrazystuff(e.g.DoubleFloat)}到目前为止,一切正常。但我希望类参数是可选的。booleanb=preferences.get(key);所以我添加了一个额外的方法:publicTget(Stringkey){//returnget(key,Class);}现在问题:有没有办法做到这一点?有没有办法获取Class的实例?.可以通过一个小的解决方法:publicTg