導航:首頁 > 編程語言 > java獲取方法參數

java獲取方法參數

發布時間:2025-09-04 17:53:36

1. java獲取當前路徑的幾種方法

1、利用System.getProperty()函數獲取當前路徑:
System.out.println(System.getProperty("user.dir"));//user.dir指定了當前的路徑

2、使用File提供的函數獲取當前路徑:
File directory = new File("");//設定為當前文件
try{
System.out.println(directory.getCanonicalPath());//獲取標準的路徑
System.out.println(directory.getAbsolutePath());//獲取絕對路徑
}catch(Exceptin e){}

File.getCanonicalPath()和File.getAbsolutePath()大約只是對於new File(".")和new File("..")兩種路徑有所區別。

# 對於getCanonicalPath()函數,「."就表示當前的文件夾,而」..「則表示當前文件夾的上一級文件夾
# 對於getAbsolutePath()函數,則不管」.」、「..」,返回當前的路徑加上你在new File()時設定的路徑
# 至於getPath()函數,得到的只是你在new File()時設定的路徑

比如當前的路徑為 C:/test :
File directory = new File("abc");
directory.getCanonicalPath(); //得到的是C:/test/abc
directory.getAbsolutePath(); //得到的是C:/test/abc
direcotry.getPath(); //得到的是abc

File directory = new File(".");
directory.getCanonicalPath(); //得到的是C:/test
directory.getAbsolutePath(); //得到的是C:/test/.
direcotry.getPath(); //得到的是.

File directory = new File("..");
directory.getCanonicalPath(); //得到的是C:/
directory.getAbsolutePath(); //得到的是C:/test/..
direcotry.getPath(); //得到的是..

另外:System.getProperty()中的字元串參數如下:
System.getProperty()參數大全
# java.version Java Runtime Environment version
# java.vendor Java Runtime Environment vendor
# java.vendor.url Java vendor URL
# java.home Java installation directory
# java.vm.specification.version Java Virtual Machine specification version
# java.vm.specification.vendor Java Virtual Machine specification vendor
# java.vm.specification.name Java Virtual Machine specification name
# java.vm.version Java Virtual Machine implementation version
# java.vm.vendor Java Virtual Machine implementation vendor
# java.vm.name Java Virtual Machine implementation name
# java.specification.version Java Runtime Environment specification version
# java.specification.vendor Java Runtime Environment specification vendor
# java.specification.name Java Runtime Environment specification name
# java.class.version Java class format version number
# java.class.path Java class path
# java.library.path List of paths to search when loading libraries
# java.io.tmpdir Default temp file path
# java.compiler Name of JIT compiler to use
# java.ext.dirs Path of extension directory or directories
# os.name Operating system name
# os.arch Operating system architecture
# os.version Operating system version
# file.separator File separator ("/" on UNIX)
# path.separator Path separator (":" on UNIX)
# line.separator Line separator ("/n" on UNIX)
# user.name User』s account name
# user.home User』s home directory
# user.dir User』s current working directory

JAVA中獲取路徑:

1.jsp中取得路徑:

以工程名為TEST為例:

(1)得到包含工程名的當前頁面全路徑:request.getRequestURI()
結果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
結果:/TEST
(3)得到當前頁面所在目錄下全名稱:request.getServletPath()
結果:如果頁面在jsp目錄下 /TEST/jsp/test.jsp
(4)得到頁面所在伺服器的全路徑:application.getRealPath("頁面.jsp")
結果:D:/resin/webapps/TEST/test.jsp
(5)得到頁面所在伺服器的絕對路徑:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
結果:D:/resin/webapps/TEST

2.在類中取得路徑:

(1)類的絕對路徑:Class.class.getClass().getResource("/").getPath()
結果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路徑:System.getProperty("user.dir")
結果:D:/TEST

3.在Servlet中取得路徑:

(1)得到工程目錄:request.getSession().getServletContext().getRealPath("") 參數可具體到包名。
結果:E:/Tomcat/webapps/TEST
(2)得到IE地址欄地址:request.getRequestURL()
結果:http://localhost:8080/TEST/test
(3)得到相對地址:request.getRequestURI()
結果:/TEST/test

2. java 獲取int類型數據長度的方法

可以使用以下三種方法:

一、基於對數的解決方案:

valueOf 方法返回的相關Number對象持有傳遞的參數的值。

該參數可以是基本數據類型,字元串(String),等等。 這個方法是一個靜態方法。該方法可以採取兩個參數,其中一個是String,另一個是基數。

使用語句:int numberOfDigits = String.valueOf(n).length();。

二、使用對數方法:

java.lang.StrictMath.log10() 方法返回以10為底的對數的double值。

它包括了一些情況: 如果參數為NaN或小於零,那麼結果為NaN。 如果參數為正無窮大,那麼結果為正無窮大。 如果參數為正零或負零,那麼結果是負無窮大。 如果參數等於10N的整數n,那麼結果是n。

使用語句:int nDigits = floor(log10(abs(the_integer))) + 1;需要使用inclue math.h庫。

三、判斷數據的大小:

整數類型,任意一個數字<10就是一位數,實現代碼如下:

3. JAVA反射中通過Class.forname()如何帶參數的方法怎麼賦值和調用呀

要調用帶參數的方法方法舉個例子:package com;
import java.lang.reflect.Method;
public class InvokeMethod {
public static void main(String args[]){
try
{
//動態載入Student類
Class student = Class.forName("com.Student");
//獲取Student類名稱為printInfo的方法
Method method1 = student.getMethod("printInfo");
//調用printInfo方法
method1.invoke(student.newInstance());
//獲取Student類名稱為printInfo的方法,String.class是方法的參數類型
Method method2 = student.getMethod("printAddress",String.class);
//調用printAddress方法,其中HK是為方法傳遞一個參數值
method2.invoke(student.newInstance(),"hello關知紅");
}catch(Exception e)
{
e.printStackTrace();
}
}
}

4. java中 如何得到泛型參數的類型,並在另一個方法中使用

在Java編程語言中,處理泛型時,獲取泛型參數類型並在其他方法中使用是一個有趣的挑戰。考慮以下示例代碼:

public class B {

public <T> T set(T t) {

return t; //這里接受到return回去。

}

public void get() {

//注意這里String不是B的子類,會報錯。

T t = (T) set(new String());

}

}

在這個例子中,我們定義了一個名為B的類。類中包含兩個方法:set和get。set方法接受一個泛型參數T,並返回該參數。get方法嘗試將一個String實例轉換為泛型類型T。

然而,直接在get方法中使用泛型參數T時會遇到類型轉換錯誤。這是因為Java泛型在運行時被擦除,導致編譯器無法保證T的具體類型。為了在get方法中正確使用T,我們需要一些額外的邏輯,例如通過反射獲取類型信息。

例如,可以通過以下方式改進get方法:

public void get() {

ParameterizedType parameterizedType = getClass().getGenericSuperclass();

Type[] actualTypeArguments = parameterizedType.getActualTypeArguments();

Type tType = actualTypeArguments[0];

T t = (T) set(new String());

}

通過這種方式,我們可以在運行時獲取泛型參數類型,並在get方法中使用它。這種方法需要使用反射API來訪問泛型類型信息。

需要注意的是,這種方法在某些場景下可能會引入額外的開銷,並且可能違反類型安全性。因此,在實際項目中使用時應謹慎考慮。

此外,還可以通過創建一個泛型類或介面,使泛型參數類型在類或介面級別上定義,從而在方法中更方便地使用。例如:

public class B<T> {

public T set(T t) {

return t;

}

public void get() {

T t = (T) set(new String());

}

}

通過這種方式,泛型參數T在類級別上定義,可以在類的所有方法中直接使用,無需額外的類型轉換。

總之,在Java中處理泛型參數類型時,需要靈活運用反射和泛型類等技術來實現所需功能。同時,應考慮性能和類型安全性的平衡,選擇最適合項目需求的方法。

閱讀全文

與java獲取方法參數相關的資料

熱點內容
如何比較兩excel文件 瀏覽:622
網路的工作是什麼 瀏覽:968
java編程速成班待遇如何 瀏覽:70
蘋果無線怎麼查看密碼 瀏覽:920
windowsxp中的文件夾所持有的是 瀏覽:826
蘋果6s震動聲音很大 瀏覽:950
三角形面積java 瀏覽:87
批量導出文件名拍攝日期 瀏覽:586
pyhtonjson 瀏覽:108
u盤同時傳送文件 瀏覽:200
虹口區網路工程有哪些 瀏覽:943
騰訊模擬器找不到文件夾 瀏覽:893
js動態成img 瀏覽:655
ppt鏈接word書簽 瀏覽:632
在大眾網下載的文件在哪裡 瀏覽:725
中興stb工具 瀏覽:998
卷積神經網路的書 瀏覽:338
更名大師去除文件名前面數字 瀏覽:728
java獲取方法參數 瀏覽:399
u盤中病毒後文件被隱藏文件 瀏覽:61

友情鏈接