有没有办法在运行时确定是否使用Lambdaj.on()方法创建了一个对象?

时间:2014-10-18 18:17:31

标签: java lambdaj

我想编写一个方法,该方法将Lambdaj.on()调用的结果或字符串作为参数。

public static <T> void method(T arg) {
}

T可以是String。 是否可以确定arg是否是使用Lambdaj.on()方法创建的?

1 个答案:

答案 0 :(得分:0)

在阅读Lambdaj源代码(ArgumentsFactory.java大部分内容)后,我可以得出结论,这是不可能的。

Lambdaj将数据存储在WeakHashMap<Object, Argument<?>>中,其中key是返回on(SomeCLass.classs).getX()之类的内容。 WeakHashMap使用.hashCode().equals()来比较对象。