我有2个字符串(string1和string2),其中包含2个Java类的代码。
string1包含:-
package com.test.package;
import com.abc.Test1;
import com.abc.Test2;
import com.abc.Test2.Test21;
import com.abc.Test10;
public class TestA {
public void testMethod(){
//Method body
}
}
string2包含:-
package com.test.package;
import com.abc.Test1;
import com.abc.Test2;
import com.abc.Test3;
import com.def.ghi.Test4;
import com.def.ghi.Test5;
public class TestB {
public void testMethod(){
//Method body
}
}
现在,我需要从string2复制所有不在string1中的import语句。
预期:-
package com.test.package;
import com.abc.Test1;
import com.abc.Test2;
import com.abc.Test2.Test21;
import com.abc.Test10;
import com.abc.Test3;
import com.def.ghi.Test4;
import com.def.ghi.Test5;
public class TestA {
public void testMethod(){
//Method body
}
}
有人可以帮我解决这种情况(至少要获得丢失的导入语句)吗?
请按照以下步骤操作:
1.首先,您需要将字符串拆分为字符串数组,然后将导入作为字符串取出。
String[] string1Array = string1.split("\n\n");
result : string1Array[0]=package com.test.package;
string1Array[1]=import com.abc.Test1;
import com.abc.Test2;
import com.abc.Test2.Test21;
import com.abc.Test10;
String[] string2Array = string2.split("\n\n");
String[] importStringArray1 = string1Array[1].split("\n"); String[] importStringArray2 = string2Array[1].split("\n"); output : importStringArray1[0]=import com.abc.Test1; importStringArray1[1]=import com.abc.Test2; importStringArray1[2]=import com.abc.Test2.Test21;
现在,您必须检查string2中的导入是否可用,或者在string 1中不可用。如果不存在,则添加到string1中。
string1 = string1Array[0].concat("\n\n");
string1 = string1.concat(string1Array[1]);
for(String a : importStringArray2) {
boolean found = false;
for(String b : importStringArray1){
if(a.queals(b)) {
found=true;break;
}
}
if(!found){
string1=string1.concat("\n").concat(a);
}
}
string1=string1.concat("\n\n").concat(string1Array[2]);
希望,这会工作!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句