當前位置:首頁 » 工具五金 » 工具類如何動態載入參數java
擴展閱讀
浙江工具箱哪裡有 2025-05-09 22:28:25
歐皇有多少鑽石 2025-05-09 22:21:55

工具類如何動態載入參數java

發布時間: 2023-04-07 10:02:51

『壹』 Java中如何在無參構造方法中調用有參構造

一般正常的都是參數多的調用參數少的。有參數的調用無參數的居多。

當然你要無參調用的參的也可以。

你用無參,調用有參的。那你有參的參數你需要怎麼傳呢。當然如果換一個角度也可以。

我手寫下。沒經過IDE的。提供下思路。我有兩種思路,寫同一個功能。

public class Person{

private String name;

private int age;

//無參

public Person(){

this.name="張三";

this.age=20;

}

//有參

public Person(String name){

this.name=name;

}

//多參

public Person(String name,int age){

this(name);//調用一個參數的構造方法

this.age=age;

}

}

這是一種寫法比較常用的方法。寫第一種。用上面的例子直接寫

public Person(){

this("張三",20);//調用有參構造方法。設置默認值。和第一種方法功能一樣

}

public Person(String name,int age){

this.name=name;

this.age=age;

}

為了程序易讀性。一般。參數的擴展和構造方法的調用都是有一定的規律的。

有參調無參,多參調少參。。擴展參數的時候,最好保持原來的順序。

『貳』 java資料庫連接資料庫工具類怎麼寫

1 將資料庫的JDBC驅動載入到classpath中,在基於JAVAEE的WEB應用實際開發過程中,通常要把目標資料庫產品的JDBC驅動復制到WEB-INF/lib下.
2 載入JDBC驅動,並將其注冊到DriverManager中,下面是一些主流資料庫的JDBC驅動加裁注冊的代碼:
//Oracle8/8i/9iO資料庫(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
//Sql Server7.0/2000資料庫
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//DB2資料庫
Class.froName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
//Informix資料庫
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
//Sybase資料庫
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
//MySQL資料庫
Class.forName("com.mysql.jdbc.Driver").newInstance();
//PostgreSQL資料庫
Class.forNaem("org.postgresql.Driver").newInstance();
3 建立資料庫連接,取得Connection對象.例如:
//Oracle8/8i/9i資料庫(thin模式)
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="scott";
String password="tiger";
Connection conn=DriverManager.getConnection(url,user,password);

『叄』 java編程時好幾個類都需要用到同樣的好幾個參數,如何處理這些參數能使得類在使用這些參數是比較容易

可以將卜凳這些謹羨類繼承同一個抽象類,在抽象類中定義這個參數
通過this.+屬性名 即可調用屬性祥弊拍

『肆』 java在工具類里調用action方法

普通類是不能調用的。這個代碼必須是在j2ee環境下,而普通類是j2se環境,無法構築servletcontext。
如果你只是想要測試,可以使用mock模擬j2ee環境。 上網搜搜mock ,easymock就知道了。

『伍』 java中怎麼用jsp調用已有的介面,調用加密工具類,拼接參數

jsp中傳值到servlet有三種方法:
JSP頁面有3種方法向 servlet傳值: form表單、URL
方法一:
<%
session.setAttribute("testSession","Hello session");
reqeust.setAttribute("testRequest","Hello request");
%>
方法二:旅伏
<a href="JspServlet?action=toServlet">點擊提哪脊交傳參數</a>
方法三:
<form action="JspServlet?action=toServlet" method="post" name="form">
<input name="username" type="test" />
<input type="submit" value="submit">
</form>
1、對於該JSP頁面 form表單的內容,如 <input>標簽,在 servlet可用 request.getParameter("username");獲取。
2、URL:比如這里的 <a>標簽的 href屬性與 <form>標簽的 action屬性的值 "JspServlet?action=toServlet",在 servlet同樣用 request.getParameter("action")獲取;李鎮滲所要注意的是這里的 url 要和 servlet在web.xml里的 <url-pattern>標簽的路徑所對應。這部分後面會提到。
3、java片段代碼,servlet只能接到 session.setAttribute("testSession","Hello session")的內容,而接不到 request的內容。在 servlet里用 request.getSession().getAttribute("testSession")獲取 session內容。

『陸』 一個java工具類 作為另一個類的方法參數 要得到返回值

在java中這是沒有早困鄭辦法做到的,因為java不是函數式編程語言,不過可以通過傳遞一個介面來實現。下面解說java如何模擬:先定義一個介面:
<pre t="code" l="java">interface MethodInterface{
//這個方法假如就是你想要傳遞的方法
public String test(String s);
}一個類中的方法的參數就是這個介面:<pre t="code" l="java">陸頌class TestMethod{
//java中很麻煩的,不過下面這樣是可以達到目的得
public void test(MethodInterface methodInterface){
System.out.println(methodInterface.test("test"));
}
}因為這個介面是你定義的,所以你知道這個介面裡面一定有一個叫尺吵test的方法<pre t="code" l="java">class Method implements MethodInterface{
public String test(String s) {
return s;
}
}<pre t="code" l="java">public class Test {

public static void main(String[] args) {
new TestMethod().test(new Method());
}
}在jdk8中是不需要這么復雜的,但是原理還是一樣的,只不過jdk8中的lambda表達式會自動幫你處理這些事情

『柒』 spring 如何動態載入properties文件的內容。或是如何手動在web上重新初始化。

1. 在xml中配置你的properties路徑:
<bean id="messageSource" class="神胡碧org.springframework.context.support."游舉>
<property name="basenames">
<list>
<!-- 指定資源文件基名稱 jdbc為文件名,不包含擴展做神名 -->
<value>classpath:resource/jdbc</value>
</list>
</property>
</bean>
2. 獲取WebApplicationContext(需要入參HttpServletRequest request)
ServletContext servletContext = request.getSession()
.getServletContext();
WebApplicationContext ctx = WebApplicationContextUtils
.(servletContext);
3. 通過WebApplicationContext獲取中鍵值
String msg = ctx.getMessage("jdbc.url", null, Locale.CHINA);

『捌』 JAVA如何實現動態數組

動態數組用ArrayList 它的底層就是動態數組

ArrayList

ArrayList 集合的存取方式和數組操作很類似,可以按照index順序來存取集合中的元素,但是還是建議採用更通用的迭代器來進行ArrayList的遍歷。
ArrayList與數組最大的區別就是它是可變數組,在初始化ArrayList集合的時候,可以指定一個初始化容量(Capacity 集合中可容納元素的數量),不指定的時候,系統會指定一個默認的容量值。當我們向ArrayList集合添加元素的時候,實際上是存放元素數量(size)在坦氏坦不斷的增加,當容量不變,當數量增長到初始容量大小的時候,因為沒有空間導致元素添加阻塞,這時候該集合的容量會按照一定增長策略自動增長,容量增長後,可以繼續向集合中添加元素。可變數組是ArrayList的優點,但從另外一個角度考慮,容量的增長是需要付出額外的代價的,所以在性能上有所損失。性能問題的一種解決思路是我們可以在向集合添加大量元素之前,根據欲添加元素的數量,預先擴充容量,採用的是ensureCapacity方法。
ArrayList是一種線性表,在內存中是連續存儲的,適合於元素的隨機存取。添加和刪除操作是需要依據添加的位置來定,如果在ArrayList最後元素後面添加和刪除元素,在性能方面還算好,但是如果是在ArrayList中間添加和刪除元素的話,代價就會很大。因為,ArrayList需要維護整個集合元素的順序存儲,所以需要處理欲添加和刪除元素位置之後的所有元素。
ArrayList的實現不是線程安全的。也就是說,如果有多個線程同時操作ArrayList集合對象,而且其中至少有一個線程的操作涉及到集合對象中元素的修改(添加和刪除),則該讓桐線程內對集合對象操作的方法需要實現同步。這也是ArrayList與Vector的主要區別。在新的集合框架的實現上,基於性能的考慮,大部分的集合設計都是線程不安全的。如果有同步需求,在用戶自己的實現中可以實現同步,實現的方法有2種:
1、在操作集合對象的方法上使用synchronized關鍵字。
2、如果方法不可修改,則可在定義集合的時候,定義同步化的集合對象(採用Collections工具類的方法),類似:
List list = Collection.synchronizedList(new ArrayList(.....));
(此處深入說明下,在採用Iterator遍歷集合的時候,如果有其他線程修改了集合(添加或刪除操作),那麼Iterator的處理會中止並拋出異常,這是集合處理中的Fail-safe特性)
ArrayList提供的方法中,除了Collection和List的公用方法外,又加入了一些新核鉛的方法。

ArrayList(int initialCapacity) 構造器方法增加了集合初始化的最小容量
Void ensureCapacity(int minCapacity) 預擴充ArrayList的容量
Void trimToSize() 把集合的Capacity縮小到Size的大小

下面做一個ArrayList小例子:

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

/**
* @功能:ArrayList的應用小例子
* @author JackRui
* @時間:2009.03.31
*/
public class ArrayListDemo {

public static void main(String[] args) {
//利用ArrayList本身的特性
System.out.println("利用ArrayList本身的特性");
ArrayList list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.remove("bbb");
list.add("ddd");
for (int i=0,lsize=list.size();i<lsize;i++){
System.out.println(list.get(i));
}
//利用Iterator遍歷
System.out.println("利用Iterator遍歷");
Collection clist = new ArrayList();
clist.addAll(list);//添加元素不能採用Iterator介面
Iterator iter = clist.iterator();
while(iter.hasNext()){
String s = (String)iter.next();
if(s.equals("ddd")){
iter.remove();//可以通過Iterator介面對元素進行刪除
}else{
System.out.println(s);
}
}
//利用ListIterator遍歷
System.out.println("利用ListIterator遍歷");
List list2 = new ArrayList();
ListIterator lit = list2.listIterator();
if(!lit.hasNext()){
lit.add("haha");//可以通過ListIterator介面進行集合元素的添加
lit.previous();
System.out.println(lit.next());
}

}

}
運行結果如下:
利用ArrayList本身的特性
aaa
ccc
ddd
利用Iterator遍歷
aaa
ccc
利用ListIterator遍歷
haha

解析:3種方法中,第一種方法不通用,不建議使用。第2種方法最通用,但僅支持單向遍歷,而且對象的添加需要分開實現。第3種方法可以雙向遍歷,而且可以直接使用ListIterator介面來添加對象。

參考資料:http://fusanjiao.javaeye.com/blog/639963
希望能幫到您,O(∩_∩)O謝謝!