有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java添加另一代码中缺少的导入语句

我有两个字符串(string1&;string2),其中包含两个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中的导入语句

预期:-

    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) 个答案

  1. # 1 楼答案

    请遵循以下步骤:

    一,。首先,需要将字符串拆分为字符串数组,并将import作为字符串取出

    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");
    
    1. 现在必须拆分导入语句
    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;
    
    1. 现在,您必须检查string2中的导入是否在String1中可用。如果不存在,则添加到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]);
      

    希望这能奏效