我有一个递归方法,它具有本地String
变量:
private void recursiveUpdate(int id){
String selectQuery="Select ...";
String updateQuery="Update or rollback ..."
...
for(int childID: children)
recursiveUpdate(childID);
}
是否有任何理由像这样外部化本地字符串变量:
private static final String selectQuery="Select ...";
private static final String updateQuery="Update or rollback ..."
private void recursiveUpdate(int id){
...
for(int childID: children)
recursiveUpdate(childID);
}
最佳答案
从技术角度来看,两者之间的差异应该可以忽略不计,因为在任何一种情况下,您总是使用相同的字符串实例。如果您在每次调用中解析这些查询,您也可能会考虑将其外部化(例如使用准备好的语句)。
从开发的角度来看,我可能会将查询外部化,将它们与调用逻辑分开。
关于java - Java中递归方法中的局部变量的外部化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26551072/