1. java 如何獲取自定義的環境變數的值
哈哈,我前陣子剛好有自己實現過,參考我的代碼:http://www.snipplr.com/view/79785/a-quickstarting-tool-to-view-java-system-properties/ 或者是 http://ideone.com/GqJJJi。原理就是java把所有的變數封裝給了一個Properties對象,然後通過調用System.getProperties()和System.getenv()就可以得到。
2. 在JAVA中怎麼取得一個變數的類型
對於包裝類型變數,是可以直接獲得的,變數名稱.getClass().getName();
示例:
lass Test
{
public static void main(String[] args)
{
int i=1; //int類型變數
System.out.println(getType(i)); //列印變數類型為int
}
public static String getType(Object o){ //獲取變數類型方法
return o.getClass().toString(); //使用int類型的getClass()方法
}
}
(2)java獲取變數值擴展閱讀
變數的使用注意事項:
Java中的變數必須聲明後才能進行使用;
變數的作用域:在一對{}中為有效區間;
需要進行初始化後才能使用變數;
數據類型 變數名 = 初始化值;
變數的使用是通過變數名來訪問所指向的內存區域中存儲的值。
3. java如何實現已知最終值,求出每個變數的值
個人覺得只能用窮舉法,但是我實際跑了一下發現就我這電腦的計算效率無法支持我進行窮舉。另外無法進行窮舉的原因還在於你要的結果精度太高,導致我無法縮小這十個隨機數的產生范圍。比如我直接使用java的Random的nextInt()獲取隨機數,產生的隨機數往往都是上萬的整數,明顯只要產生的數字很大,就肯定無法滿足結果,導致結果遠遠偏離,因此不能限制隨機數的范圍的話,窮舉將產生極大的浪費,可能99.99%的隨機數都是明顯不符的數據。而且結果的精度太高也進一步增加了難度,因為涉及到平均數計算,你也沒說清結果是否要四捨五入。如果結果是簡單點的數字比如整數,來個3啊或者10啊什麼的,窮舉法就可以進行了。
4. 在jsp頁面中java代碼獲取js裡面var變數的值
js與java是不同語言,運行在不同環境下,因此無法直接獲得對方數據。
java運行在伺服器端,在同一個jsp文件中,java先運行,js後運行,java可以生成一段js代碼,保證js運行得到相應的結果,因此可以用java定義js變數的方式來傳遞數據,例如:
<script>
var url="<%=url%>";
alert(username);
</script>
上面例子,<%%>中的內容會在伺服器端運行,在「」中間輸出網址,瀏覽器就會載入下面的結果:
<script>
var url="gif8.cn";
alert(url);
</script>
這部分就是標準的js代碼了。
5. 如何在Java中獲取環境變數的值
當程序中需要使用與操作系統相關的變數(例如:文件分隔符、換行符)時,Java提供了System類的靜態方法getenv()和getProperty()用於返回系統相關的變數與屬性,getenv方法返回的變數大多於系統相關,getProperty方法返回的變數大多與java程序有關。
系統屬性和環境變數都是名稱與值之間的映射。兩種機制都能用來將用戶定義的信息傳遞給 Java進程。環境變數產生更多的全局效應,因為它們不僅對Java子進程可見,而且對於定義它們的進程的所有子進程都是可見的。在不同的操作系統上,它們的語義有細微的差別,比如,不區分大小寫。因此環境變數更可能有意料不到的副作用。程序中盡可能使用系統屬性。環境變數應該在需要全局效應的時候使用,或者在外部系統介面要求使用環境變數時使用(比如 PATH)。
1、環境變數getenv() :用於獲取當前系統環境的字元串映射視圖;測試代碼及運行結果如下:
publicclass Test {
publicstaticvoid main(String[] args) {
Map<String, String> map = System.getenv();
for(Iterator<String> itr = map.keySet().iterator();itr.hasNext();){
String key = itr.next();
System.out.println(key + "=" + map.get(key));
}
}
}
USERPROFILE :用戶目錄
USERDNSDOMAIN :用戶域
PATHEXT :可執行後綴
JAVA_HOME :Java安裝目錄
TEMP :用戶臨時文件目錄
SystemDrive :系統盤符
ProgramFiles :默認程序目錄
USERDOMAIN :帳戶的域的名稱
ALLUSERSPROFILE :用戶公共目錄
SESSIONNAME :Session名稱
TMP :臨時目錄
Path :path環境變數
CLASSPATH :classpath環境變數
PROCESSOR_ARCHITECTURE :處理器體系結構
OS :操作系統類型
PROCESSOR_LEVEL :處理級別
COMPUTERNAME :計算機名
Windir :系統安裝目錄
SystemRoot :系統啟動目錄
USERNAME :用戶名
ComSpec :命令行解釋器可執行程序的准確路徑
APPDATA :應用程序數據目錄
2、系統屬性getProperty() :當前的系統屬性。測試代碼及運行結果如下:
java.version Java :運行時環境版本
java.vendor Java :運行時環境供應商
java.vendor.url :Java供應商的 URL
java.home :Java安裝目錄
java.vm.specification.version: Java虛擬機規范版本
java.vm.specification.vendor :Java虛擬機規范供應商
java.vm.specification.name :Java虛擬機規范名稱
java.vm.version :Java虛擬機實現版本
java.vm.vendor :Java虛擬機實現供應商
java.vm.name :Java虛擬機實現名稱
java.specification.version:Java運行時環境規范版本
java.specification.vendor:Java運行時環境規范供應商
java.specification.name :Java運行時環境規范名稱
java.class.version :Java類格式版本號
java.class.path :Java類路徑
java.library.path :載入庫時搜索的路徑列表
java.io.tmpdir :默認的臨時文件路徑
java.compiler :要使用的 JIT編譯器的名稱
java.ext.dirs :一個或多個擴展目錄的路徑
os.name :操作系統的名稱
os.arch :操作系統的架構
os.version :操作系統的版本
file.separator :文件分隔符
path.separator :路徑分隔符
line.separator :行分隔符
user.name :用戶的賬戶名稱
user.home :用戶的主目錄
user.dir:用戶的當前工作目錄
6. java 如何獲取自定義的環境變數的值
使用System類的getenv方法獲取,例如System.getenv()獲取的是所有環境變數,返回值是一個Map,key是環境變數的名稱,value是值;System.getenv(String name)獲取的是指定環境變數的值,如獲取自己配置的JDK的位置:System.getenv("JAVA_HOME");
7. 大佬告訴我java 反射如何獲取成員變數的值
下例演示了通過反射獲取 Test 類對象 t 的 iVal, strVal 成員變數的值:
importjava.lang.reflect.Field;
classTest{
privateintiVal;
privateStringstrVal;
publicTest(intiVal,StringstrVal){
this.iVal=iVal;
this.strVal=strVal;
}
}
publicclassApp{
publicstaticvoidmain(String[]args){
//創建一個Test對象
Testt=newTest(123,"Hello");
//獲取對象t的Class
Class<?>tt=t.getClass();
try{
//獲取Test類的iVal欄位Field
Fieldfield=tt.getDeclaredField("iVal");
//設置可訪問
field.setAccessible(true);
//獲取iVal的值
intval=field.getInt(t);
System.out.println(val);
FieldstrValField=tt.getDeclaredField("strVal");
strValField.setAccessible(true);
StringstrVal=(String)strValField.get(t);
System.out.println(strVal);
}catch(NoSuchFieldException|SecurityExceptione){
e.printStackTrace();
}catch(IllegalArgumentExceptione){
e.printStackTrace();
}catch(IllegalAccessExceptione){
e.printStackTrace();
}
}
}
8. java怎麼獲取到匿名內部類的變數值
首先匿名內部類 你不能主動獲取他的變數 ,因為是匿名的,你獲取不到他的對象;
實現方法有幾個;
1 你在匿名內部類中主動把變數 傳遞給外部類的某個變數;
2 你可以使用evenbus 來實現;
原理就是這么多;
必須匿名內部類主動傳遞;
9. java中怎樣獲取父類中的變數值
通過 super.變數名 獲取父類中的變數值
舉例:
publicclassParent{//定義父類Parent
publicinta=1;//定義父類中的一個變數a
}
publicclassSonextendParent{//定義子類son,繼承父類parent
publicvoidshow(){
intb=super.a;//通過super訪問父類變數a,獲取值賦值給b
}
}