Ⅰ java中有地址參數傳遞嗎
你需要明白,地址參數傳遞的真實含義,然後就明白了,只拿概念去套是沒有意義的。套概念只會今天問 java 有沒有,明天問其它的語言有沒有。
java 的參數傳遞不同於按值傳遞,也不完全同於按地址傳遞,因為這需要區分基本類型和抽象類型。
名義上 Java 都是按值傳遞,但對於抽象類型來說又有引用傳遞的效果。指向原始對象,函數調用後的效果也導致了目標對象被改動,之後持有指向目標對象的符號的變數就跟著有了變化,這點就像引用傳遞。
所以 Java 的核心人士都說 Java 只有按值傳遞。但理解了 Java 的引用之後就明白,對於抽象類型的對象,這其實也是引用傳遞。所以在 Java 中沒直接與 C++ 地址傳遞。
Java API 中有些類型的是 immutable,就是說它的狀態在創建之後不再更改,所以修改需要創建一個全新的對象,比如 String, Integer 之類的,所以 str + "sest" 其實並未改變 str 對象本身,所以需要用 str = str + "test" 來接收改變之後的結果,它是一個新的 String 對象,不同於 str + "test" 調用之前的那個 str。
Ⅱ java URL 添加參數的幾種簡單方式
主要有三種方式,先給大家第一種managed-bean,必須 scope設置為request
<managed-bean>
<managed-bean-name>nameBean</managed-bean-name>
<managed-bean-class>demo.NameBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>userName</property-name>
<value>#param.name</value>
</managed-property>
...
....
</managed-bean>
第二種方式:缺點是無法往後台傳數據,當然你用javascript做一下動作也可以
<h:inputHidden id="userName" value="#{nameBean.userName}"/>
第三種方式,是直接在bean中獲得,我認為這種應該是最實用、保險的方式。
public static String getRequestParameter(String name) {
return (String)FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(name);
}
Ⅲ java怎樣獲取url參數
如果是javaweb 項目,那麼非常簡單,直接調用 HttpServletRequest 對象的 .getParamter("參數名稱") 方法即可得到。
如果是普通java 項目:
/**
* 獲取網址的指定參數值
*
* @param url
* 網址
* @param parameter
* 參數名稱
* @author cevencheng
* @return
*/
public static String getParameter(String url, String parameter, String defaultValue) {
try {
final String charset = "utf-8";
url = URLDecoder.decode(url, charset);
if (url.indexOf('?') != -1) {
final String contents = url.substring(url.indexOf('?') + 1);
HashMap<String, String> map = new HashMap<String, String>();
String[] keyValues = contents.split("&");
for (int i = 0; i < keyValues.length; i++) {
String key = keyValues[i].substring(0, keyValues[i].indexOf("="));
String value = keyValues[i].substring(keyValues[i].indexOf("=") + 1);
if (key.equals(parameter)) {
if (value == null || "".equals(value.trim())) {
return defaultValue;
}
return value;
}
map.put(key, value);
}
}
return null;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
Ⅳ java怎麼獲取url上的參數
request.getParameter("xxx");