如题,多谢各位指导啊 

解决方案 »

  1.   

    getHostAddress() 
              返回 IP 地址字符串(以文本表现形式)。
      

  2.   

    哪个包里的?是在不行把这个IpAddress对象toString一下,自己看看再处理下。
      

  3.   

    public String changeHost()
       {  
          String uname=this.getUserName();
          int port=this.getPort();
          String pIP=Bridge.PubIP.toString();//问题在这里,PubIP是IpAddress的
          
          this.init(uname, pIP, port);
          return this.url;
       }
      

  4.   

    你能贴一下IpAddress类和Bridge类吗?光看这个changeHost方法没法知道。
      

  5.   

    bridge 里 就一个PubIP变量
    没有IPAddress类,pubIP是InetAddress类型
      

  6.   

    也就是,我想将InetAddress类型的IP地址,转成String类型啊
      

  7.   

    晕 一会儿是IpAddress类型 一会是InetAddress类型
    那有InetAddress类的代码吗?
      

  8.   

    不好意思啊,一开始写错了
    InetAddress是api里有的java.net.InetAddress
      

  9.   

                    String IP, address;
    InetAddress addr;
    try {
    addr = InetAddress.getLocalHost();
    IP = addr.getHostAddress().toString();
    address = addr.getHostName().toString();
    System.out.println(IP);
    System.out.println(address);
    } catch (UnknownHostException e) {
     //TODO Auto-generated catch block
       e.printStackTrace();
     }
      

  10.   

    还是报错
    java.lang.NullPointerException
            at .changeHost(SipURL.java:114)
      

  11.   

    import java.net.*;public class MyInetAddress1{
    public static void main(String[] args) throws Exception{
    //getLocalHost()
    InetAddress localAddress= InetAddress.getLocalHost();
    String local= localAddress.toString();
    String temp[]= local.split("/");
    System.out.println("getLocalHost()");
    System.out.println("主机名: "+temp[0]);
    System.out.println("IP地址:"+temp[1]);
    //System.out.println(localAddress);
    }
    }
      

  12.   

    import java.net.InetAddress;
    public class sss{
    public static void main(String[] args)throws Exception{
    InetAddress address = InetAddress.getLocalHost();
    System.out.println(address);
    int index = (address.toString()).indexOf("/");
    String str = (address.toString()).substring(index+1);
    System.out.println(str);
    }
    }
      

  13.   

    我不知道这是不是你要的答案
      我的理解是:
       你首先获得InetAddress 
       然后通过字符串去截取你就获得IP地址
      

  14.   

    import java.net.*;public class MyInetAddress1{
        public static void main(String[] args) throws Exception{
            //getLocalHost()
            InetAddress localAddress= InetAddress.getLocalHost();
            String local= localAddress.toString();
            String temp[]= local.split("/");
            System.out.println("getLocalHost()");
            System.out.println("主机名: "+temp[0]);
            System.out.println("IP地址:"+temp[1]);
            //System.out.println(localAddress);
        }
    }
      

  15.   

    问题解决了
    原来是Bridge.PubIP这个值,在另一个函数里没有及时被赋值。
    谢谢各位好心人啊但是有个疑问,为什么在一个函数里调用了另一个函数,而被调用的函数还没有执行完毕就执行调用函数中下面的语句?