解决方案 »

  1.   

    看 api add 是传递 字符串信息put 传递的是 具体的类型 File int 流等 , 不能传递字符串void add(java.lang.String key, java.lang.String value)
    Adds string value to param which can have more than one value.
    org.apache.http.HttpEntity getEntity(ResponseHandlerInterface progressHandler)
    Returns an HttpEntity containing all request parameters.
    protected java.util.List<org.apache.http.message.BasicNameValuePair> getParamsList() 
    protected java.lang.String getParamString() 
    boolean has(java.lang.String key)
    Check if a parameter is defined.
    void put(java.lang.String key, java.io.File file)
    Adds a file to the request.
    void put(java.lang.String key, java.io.File file, java.lang.String contentType)
    Adds a file to the request.
    void put(java.lang.String key, java.io.InputStream stream)
    Adds an input stream to the request.
    void put(java.lang.String key, java.io.InputStream stream, java.lang.String name)
    Adds an input stream to the request.
    void put(java.lang.String key, java.io.InputStream stream, java.lang.String name, java.lang.String contentType)
    Adds an input stream to the request.
    void put(java.lang.String key, java.io.InputStream stream, java.lang.String name, java.lang.String contentType, boolean autoClose)
    Adds an input stream to the request.
    void put(java.lang.String key, int value)
    Adds a int value to the request.
    void put(java.lang.String key, long value)
    Adds a long value to the request.
    void put(java.lang.String key, java.lang.Object value)
    Adds param with non-string value (e.g.
    void put(java.lang.String key, java.lang.String value)
    Adds a key/value string pair to the request.
      

  2.   

    我怎么没看出来put不能传递字符串?楼上你确定你看完了?
      

  3.   

    从源码里看,最明显的一个区别,add方法可以给同一个key值传多个value,它会存在一个list里面;而put方法只能给同一个key传唯一一个value,如果传多个后一个会替换掉前一个。当然,其实api里的描述也很清楚了。
    void    add(java.lang.String key, java.lang.String value)
    Adds string value to param which can have more than one value.
    添加字符串给param,并且可以传不止一个。
    -------------------------------
    void    put(java.lang.String key, java.lang.String value)
    Adds a key/value string pair to the request.
    添加一个字符串键值对给request。