Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > java.net.URL各get方法的含义
【标  题】:java.net.URL各get方法的含义
【关键字】:java.net.URL,get
【来  源】:http://blog.csdn.net/nethermit/archive/2007/01/19/1487843.aspx

java.net.URL各get方法的含义

Your Ad Here

呵呵,隐士研究java.net.URL中,源码注释如下:

 * @author  James Gosling
 * @version 1.130, 08/25/04
 * @since JDK1.0

哈哈,白胡老头写的,好些个get方法,含义不是很直白,隐士写个小程序把各种值dump出来瞧瞧。输入结果如下:

getAuthority() = so.mdbchina.com
getClass() 
= class java.net.URL
getContent() 
= sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@61de33
getDefaultPort() 
= 80
getFile() 
= /video/%E7%BE%8E%E5%A5%B3
getHost() 
= so.mdbchina.com
getPath() 
= /video/%E7%BE%8E%E5%A5%B3
getPort() 
= -1
getProtocol() 
= http
getQuery() 
= null
getRef() 
= null
getUserInfo() 
= null

源码如下:

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.Comparator;

public class Test
{
    
public static final String METHOD_PREFIX_IS = "is";

    
public static final String METHOD_PREFIX_GET = "get";

    
public static final Comparator<Method> METHOD_NAME_COMPARATOR = new Comparator<Method>() {
        
public int compare(Method o1, Method o2) {
            
return o1.getName().compareToIgnoreCase(o2.getName());
        }

    }
;
    
    
public static void dumpObject(Object o) {
        Method[] methods 
= o.getClass().getMethods();
        Arrays.sort(methods, METHOD_NAME_COMPARATOR);
        
for (int i = 0; i < methods.length; ++i) {
            Method method 
= methods[i];
            String methodName 
= method.getName();
            
if (method.getParameterTypes().length == 0
                    
&& (methodName.indexOf(METHOD_PREFIX_IS)==0 || methodName
                            .indexOf(METHOD_PREFIX_GET)
==0)) {
                
try {
                    System.out.println(methodName
                            
+ "() = " + method.invoke(o));
                }
 catch (IllegalArgumentException e) {
                    e.printStackTrace();
                }
 catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
 catch (InvocationTargetException e) {
                    e.printStackTrace();
                }

            }

        }

    }

    
    
public static void main(String[] argv) throws Exception
    
{
        java.net.URL u
=new java.net.URL("http://so.mdbchina.com/video/%E7%BE%8E%E5%A5%B3");
        dumpObject(u);
    }

}
 
Display Tag使用小记:【上一篇】
面向对象的思维方法:【下一篇】
【相关文章】
  • consistent,db block gets
  • 再发布一个Vista Gadget-"墙纸精灵"
  • pagetable_init()
  • getOrientation 得到的数据的意义
  • 区分HttpServletRequest 中getAttribute() 与 getParameter() 方法
  • Apusic JSF — Getting Started
  • getsockopt 和 setsockopt
  • AppFuse学习笔记(2)--Ant中Target的依赖关系(AppFuse的部署过程)
  • Windows下安装wxWidgets(vs2005)
  • wxWidgets编程示例
  • 【随机文章】
  • 开始写BLOG,记录一些东西。
  • Beginner with C# 7
  • 实战编译Linux内核
  • Cheese Tracker <= 0.9.9 Local Buffer 攻击代码
  • 广告轮播
  • 我终于用上Linux啦!
  • Oracle备份与恢复
  • 如何用正确的方法来写出质量好的软件的75条体会[转]
  • PHP 中文手册5月最新版(chm)
  • TODO::DOORBELL
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.