日期:2014-05-20  浏览次数:20809 次

如何在方法中得到调用者的对象

public class Question {
public static void main(String[] args) {
String str = "abc";
//str.replaceAll("", "/") 的结果是 /a/b/c/
//我需要的是a/b/c
//不想为这个临时字符串起名字
//如
//tmpstr = str.replaceAll("","/");
//System.out.println(tmpstr.substring(1,tmpstr.length()));

//也不想做2遍替换
//如
// System.out.println(str.replaceAll("", "/").substring(1,str.replaceAll("", "/").length()-1));

//我想用一行java语句完成从abc 到 a/b/c的过程
System.out.println(str.replaceAll("", "/").substring(1, 【这里填什么】.length()-1));

}
}


其实也就是在一个方法中如何获取调用此方法的对象
当然在本类中, 可以用this获取,在其他类的语句中如何获取呢?

菜鸟提问,谢谢你的回答和管制。

------解决方案--------------------
这个问题,是无解的。因为你问的要填写的那个地方的对象其实就是str.replaceAll("", "/")的结果,而你这儿的没有将这个对象给一个引用,而要去访问一个对象时要通过引用去的。这就好比一个人去问一个无名氏叫什么名字。

另外,估计你没有去验证,这里的this是不行的。
你做2遍的那种方法,可以得到正确的结果,但是你要知道,那两个str.replaceAll("", "/")并不是指的一个对象哦
------解决方案--------------------
少打个斜杠...没转义

 System.out.println(str.replaceAll("\\B", "/"));