Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中具有谓词类型输入的HashMap_Java_Hashmap - Fatal编程技术网

java中具有谓词类型输入的HashMap

java中具有谓词类型输入的HashMap,java,hashmap,Java,Hashmap,我正在开发一个预先存在的java程序,它的一个类计算一些布尔特性。它使用HashMap来实现这一点,因此第一个参数是字符串类型,第二个参数是谓词类型: featureMap = new HashMap<String, Predicate<ChunkedBinaryExtraction>> 它可以正确地提取第一个参数,但不能提取第二个参数(特征值)!它返回如下内容: extr phrase: edu.washington.cs.knowitall.extractor.co

我正在开发一个预先存在的java程序,它的一个类计算一些布尔特性。它使用
HashMap
来实现这一点,因此第一个参数是
字符串
类型,第二个参数是
谓词
类型:

featureMap = new HashMap<String, Predicate<ChunkedBinaryExtraction>>
它可以正确地提取第一个参数,但不能提取第二个参数(特征值)!它返回如下内容:

extr phrase: edu.washington.cs.knowitall.extractor.conf.ReVerbFeatures$11@36aa7bc2

似乎
me.getValue()
不是用于检索特征值的合适语句?

打印出来的只是告诉您映射值是类ReVerbFeatures的对象。并且该类没有重写“toString()”方法,因此提供了一些不太容易理解的输出

但问题是:你手头确实有这个类的对象。所以你可以选它

ReVerbFeatures feature = (ReVerbFeatures) me.getValue();
然后调用该类的任何方法,例如

正如其他人所说:阅读“原始类型”,如果可能,相应地修改代码


最后:如果你必须处理代码。。。那么,除了学习所有涉及的概念之外,别无选择。你不应该处理你不懂的事情。意思是:如果你有时间真正了解所有这些事情,你应该做出决定;或者停止做你现在正在做的事情。避免对某事负责。。。如果你缺乏真正负责的技能。

将你的
集合
映射参数化。适当地输入
,而不是使用原始类型。@Mena是正确的!不要使用原始类型!检查有效Java第二版第5章第23项:不要使用原始类型!谢谢,你说得对。我应用了您的解决方案,但它显示:edu.washington.cs.knowitall.extractor.conf.ReVerbFeatures$13不能转换为edu.washington.cs.knowitall.extractor.conf.ReVerbFeaturesAh,对。$number表示某个内部类。所以也许你得重新设计你的问题。。。为了告诉我们您实际想要对这些值做什么。:(难道没有任何方法可以检索这些特征吗?对于给定的句子,它会考虑一些特征并将它们计算为布尔特征(true或false)。每个私有方法都会设置其中一个特征的值,我需要这些特征的向量(例如(0,1,0,…)。
ReVerbFeatures feature = (ReVerbFeatures) me.getValue();