我刚开始看着LambdaJ,并立即遇到了问题。我不认为我做了什么奇怪的事,但我无法弄清楚如何做到这一点。LambdaJ index()和密钥类型转换
我有管理员列表:
List<Administrator> allAdmins;
我有地图我希望这些管理员映射到:
Map<String, Administrator> adminIdToAdmin = new HashMap<String, Administrator>();
的问题是,在管理类ID是多头,不是弦乐。所以,我尝试了以下内容:
adminIdToAdmin = index(allAdmins, on(Administrator.class).getAdministratorId().toString());
哪个不起作用。它与失败:
ch.lambdaj.function.argument.ArgumentConversionException: Unable to convert the placeholder -2147483647 in a valid argument
at ch.lambdaj.function.argument.ArgumentsFactory.actualArgument(ArgumentsFactory.java:92)
at ch.lambdaj.function.convert.ArgumentConverter.<init>(ArgumentConverter.java:29)
at ch.lambdaj.Lambda.index(Lambda.java:1133)
如果我改变我的地图包含龙和摆脱toString(),错误消失。
什么是正确的方法来做到这一点?