String
+
操作有一个错误,这很奇怪:
String path = "/app/" + monPHost.getUsername() + "/app/" + monProcessInfo.getRegion() + "/tf/bin";
System.out.println("here it ...." + path);
结果如下:
here it ..../app/aiams/app/791
" / tf / bin"走了吗?
答案 0 :(得分:2)
也许 monProcessInfo.getRegion()以回车结束。尝试预处理它,剥离它,并用你的字符串连接。
或者,试试这个:
String path = "/app/" + monPHost.getUsername() + "/app/" + monProcessInfo.getRegion();
path = path + "/tf/bin";
System.out.println("here it ...." + path);
答案 1 :(得分:2)
快速解决您所获得的所有空间:
String path = "/app/" + monPHost.getUsername() + "/app/" + monProcessInfo.getRegion().trim() + "/tf/bin";
System.out.println("here it ...." + path);
我建议在你的过程对象中跟踪它并在那里修复它,如果你只是期望一个整数结果试着返回一个,快速失败&早期可以防止很多下游漏洞。
答案 2 :(得分:1)
在评论中你提到monProcessInfo.getRegion()
给你一个包含大量空格的字符串,你还没有提到这种方法的返回类型,你可以这样做:
如果它返回一个字符串:
就像
一样简单String path = "...." + monProcessInfo.getRegion().trim() + "/tf/bin";
如果它返回别的东西:
给定Java中的字符串连接依赖于Object.toString()
,您可以将其更改为:
String path = "...." + monProcessInfo.getRegion().toString().trim() + "/tf/bin";
答案 3 :(得分:0)
由于您提到 monProcessInfo.getRegion()会返回大量空格,因此您可以尝试修剪它,然后再将其附加到字符串的后半部分。
StringBuilder sb = new StringBuilder();
sb.append("/app/" + monPHost.getUsername() + "/app/");
String region = ("" + monProcessInfo.getRegion()).trim();
sb.append(region + "/tf/bin");
System.out.println("here it ...." + sb.toString());