Java 返回后如何运行方法?
我试图在返回一组代码中的数据后运行一个方法 如果我把它放在返回的下面,它将成为不可访问的代码。如果我在上面输入,我无法从中提取数据,因为它只会在返回方法之后将数据插入SQL 我使用一个开源的James电子邮件服务器来做这件事 比如说。。代码是这样的Java 返回后如何运行方法?,java,sql,james,Java,Sql,James,我试图在返回一组代码中的数据后运行一个方法 如果我把它放在返回的下面,它将成为不可访问的代码。如果我在上面输入,我无法从中提取数据,因为它只会在返回方法之后将数据插入SQL 我使用一个开源的James电子邮件服务器来做这件事 比如说。。代码是这样的 public class testList extends GenericMatcher { public Collection test(Mail mail) { /*All the processing of the mail
public class testList
extends GenericMatcher
{
public Collection test(Mail mail) {
/*All the processing of the mail datas and checks will be done here..
after which, return mail.getRecipients(); at the end will send
the result back to.. I dont know where? This return will then
insert it into the SQL table. So I would like to move this data
from that SQL table to another SQL table that is why I
need to access only after the return method.*/
if (test.contains(test1)) {
return mail.getRecipients();
//call other method here
} else {
return null;
}
}
}
那么,有没有一种方法可以让我调用这个方法,或者在返回方法之后进行更多的数据处理呢?我也不知道return方法去了哪里
您可以像这样使用finally关键字:
try {
doThings();
return;
} finally {
doThingsAfterReturn();
}
您可以使用异常处理机制来执行此操作。将代码放在finally块中,它肯定会执行。实际上,在testlist类中调用测试方法后,您可以调用“other method”,这将具有相同的效果 集合abc=newtestlist().test()
doMethodAfterReturn() 捕获变量中的
mail.getRecipients()
返回值,并在返回变量值之前使用该返回值。尝试{return something;}最后{somethod();}
也是可能的“将结果发送回..我不知道在哪里?”
-它将结果发送回任何调用此方法的对象。你到底想在这里做什么?存储mail.getRecipients()代码>生成变量并最终返回该变量。在初始化变量的过程中,将变量值设置为null,这样您就不需要其他部分了。返回结果将发送回结果,以便自动插入到SQL中。。但是我不知道是哪个方法调用这个..我尝试过这样做,它在finally块执行返回后的代码,但是它没有显示返回后插入的信息。在返回方法之后,我将执行一个resultset来提取try中插入的数据。但是没有来自resultsei的信息,我觉得即使在最后,在try中做的事情仍然没有插入到数据库中。因此,我无法从数据库中提取任何数据。@Nicky:这是因为您显示的代码没有向数据库中插入任何内容。它只返回一个值。您要查找的代码实际上是插入到数据库中的任何代码。@David我在图片中添加到此代码中。我没有写代码,它是开源的电子邮件服务器,名为james,我只写我的自定义代码matchers@Nicky当前位置你似乎在这里迷路了,贴在这个问题上的答案只会让你更加困惑。您显示的代码只返回一个值,仅此而已。没有与数据库的交互,“返回后”无需执行任何操作。你要找的是系统中的其他地方,而不是这个方法。这个方法中没有任何东西会影响调用这个方法的代码。