我想攔截(@AroundInvoke)方法調用...獲取原始方法參數(通過引用傳遞)與 ctx.getParameters()並將其替換爲其他..但是我希望原始參數也被修改(!),而不僅僅是用新參數調用方法。Interecept方法並修改原始參數
0
A
回答
0
我想也許嘗試繼承具有方法被調用的類,然後調用super.AroundInvoke(......),然後修改參數,如
public class AroundInvokerOverrider extends ClassWithAroundInvokeMethod
{
@override
public void AroundInvoke(int a, char c, ...)
{
a += 1;
c = 'A';
super.AroundInvoke(a,c);
}
}
+0
這不會修改原始參數(它在你的情況是通過值傳遞,這意味着他們的副本被傳遞......這是不正確的)。只需使用修改的參數調用該方法。我想要的是,攔截結束後,原來的論點被改變了! –
+0
我不認爲你可以做到這一點(無論如何haxoring和規避)b/c java不支持「通過引用傳遞」http://stackoverflow.com/questions/40480/is-java-pass-by -參考 – samosaris
相關問題
- 1. 爲什麼從其他方法修改原始數組?
- 2. 爲什麼C++ ofstream write()方法修改我的原始數據?
- 3. 如何:(方法數組)變成原始數組通過方法修改,並且原始數組變爲(方法數組)
- 4. 原始HashMap被修改
- 5. JMockit:修改模擬方法的參數
- 6. EasyMock和修改可變方法參數
- 7. 從detailView修改原始數據?
- 8. 原始數組值被修改
- 9. 修改後的原始數組值
- 10. 使用Javascript修改原始數組Array.Filter
- 11. 修改_.reject裏面的原始數組
- 12. 字符串操作,修改原始字符串的subString()方法
- 13. 將列表傳遞給方法而不修改原始列表
- 14. 修改對象或原始使用的空隙方法
- 15. 是修改輸入參數並返回錯誤的方法嗎?
- 16. 方法參數:解構+保留原始參數(ReactJS組件)
- 17. 修改dicom圖像並將其保存爲原始數據?
- 18. 非法修改的參數
- 19. 無法修改url參數
- 20. Ruby 2.3:無法複製數組。原始陣列修改
- 21. Vim快速修改方法參數的方法
- 22. 創建指針的指針並進行修改而不修改原始指針?
- 23. 從數組刪除對象傳遞爲參數不修改原始數組(角)
- 24. Javascript - 在不修改原始數組的情況下修改數組副本
- 25. JavaCV/OpenCV cvDrawContours修改原始圖像
- 26. +與numpy.array對象修改原始對象
- 27. 原始修改日期時間/水銀
- 28. 在指令中修改原始文本
- 29. 子矢量修改原始矢量
- 30. bookmarket可以修改原始頁面嗎?
我不明白...如果通過引用傳遞參數,然後調用context.proceed(),則更改後的參數也將最終放入@Interceptor註釋bean中。請您澄清一下 – Korgen