繁体   English   中英

插入arg作为第一个元素,以便在Java中手动进行操作

[英]Insert an arg as first element to head manually in Java

我正在为Spring MVC编写日志系统。 我将userId发送到过程。

public Object execProc(String storedProcedure, RowMapper rowMapper,
    Object... args)

我需要插入args的元素头,该怎么办? 例如

int userId = 9;
args.push(userId)

如果您只是希望添加一个新元素作为数组的开头,一种简单的方法是创建一个新数组并使用System.arraycopy复制这些元素。 然后可以将新的head-element添加到索引0,如下例所示。

int userId = 9;
Object[] args = new Object[]{"a", "list", "of", "args"}; // the "old" array
Object[] theNewArray = new Object[args.length + 1]; // a new array, 1 element bigger
System.arraycopy(args, 0, theNewArray, 1, args.length); // copy everything
theNewArray[0] = userId; // and insert you head element

// From now on, use "theNewArray"

execProc方法具有vararg

execProc("your stored procedure here", myRowMapper, userId, firstArg, secondArg, ...);

如果需要在调用方法之前合并参数,请参见https://stackoverflow.com/a/80559/834

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM