StringBuffer sb = new StringBuffer("Hello ");
sb.append("world"); //在sb尾部追加一個(gè)字符串, 此時(shí)變成 Hello world;
sb.charAt(1) ; //返回下標為1的字符 此處是 e
sb.insert(1,"d"); //在 1 處插入新的字符串 d 此時(shí)變?yōu)?Hedllo world;
sb.reverse(); //反轉字符 此時(shí)變成 dlrow olldeH
sb.delete(1,2); //刪除字符串 此時(shí)變?yōu)镠llo world
sb.replace(3,4,"new"); //替換字符串 從 3開(kāi)始到4結束 此時(shí)變?yōu)?Hllnewworld
容量是你還可以new多少個(gè)對象的空間。
你可以看一下這段說(shuō)明。
Java把內存劃分成兩種:一種是棧內存,另一種是堆內存。在函數中定義的一些基本類(lèi)型的變量和對象的引用變量都是在函數的棧內存中分配,當在一段代碼塊定義一個(gè)變量時(shí),
堆內存用來(lái)存放由new創(chuàng )建的對象和數組,在堆中分配的內存,由java虛擬機的自動(dòng)垃圾回收器來(lái)管理。在堆中產(chǎn)生了一個(gè)數組或者對象之后,還可以在棧中定義一個(gè)特殊的變量,讓棧中的這個(gè)變量的取值等于數組或對象在堆內存中的首地址,棧中的這個(gè)變量就成了數組或對象的引用變量,以后就可以在程序中使用棧中的引用變量來(lái)訪(fǎng)問(wèn)堆中的數組或者對象,引用變量就相當于是為數組或者對象起的一個(gè)名稱(chēng)。引用變量是普通的變量,定義時(shí)在棧中分配,引用變量在程序運行到其作用域之外后被釋放。而數組和對象本身在堆中分配,即使程序運行到使用new產(chǎn)生數組或者對象的語(yǔ)句所在的代碼塊之外,數組和對象本身占據的內存不會(huì )被釋放,數組和對象在沒(méi)有引用變量指向它的時(shí)候,才變?yōu)槔荒茉诒皇褂茫匀徽紦却婵臻g不放,在隨后的一個(gè)不確定的時(shí)間被垃圾回收器收走(釋放掉)。這也是java比較占內存的原因。
Java就在棧中為這個(gè)變量分配內存空間,當超過(guò)變量的作用域后,java會(huì )自動(dòng)釋放掉為該變量分配的內存空間,該內存空間可以立即被另作它用
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void print(char *p)
{
int l=strlen(p);
for(int i=l-1;i>=0;i--)
printf("%c",*(p+i));
}
int main()
{
char temp[128];
while(scanf("%s",temp)!=EOF)
{
print(temp);
printf(" ");
}
return 0;
}
toString是Object類(lèi)的方法,所有類(lèi)都從Object類(lèi)繼承。如果你定義的類(lèi)沒(méi)有覆蓋toString方法,則對象在調用toString方法時(shí)用的是Object類(lèi)toString方法,返回的是“類(lèi)名@hashcode".
System.out.println(obj)在參數是一個(gè)對象時(shí),會(huì )首先調用該對象的toString方法。
而String類(lèi)和StringBuffer類(lèi)都覆蓋了toString方法,都是返回字符串。
所以帶不帶toString效果是一樣的。
參數將被轉換成字符串,就好象使用了 String.valueOf 方法一樣。
然后,將所得字符串中的字符追加到此序列。 參數:obj - 一個(gè) Object。
返回:此對象的一個(gè)引用。 另請參見(jiàn):String.valueOf(java.lang.Object), append(java.lang.String)appendpublic StringBuffer append(String str) 將指定的字符串追加到此字符序列。
按順序追加 String 變量中的字符,使此序列增加該變量的長(cháng)度。如果 str 為 null,則追加 4 個(gè)字符 "null"。
假設此字符序列的長(cháng)度在執行 append 方法前為 n。如果 k 小于 n,則新字符序列中索引 k 處的字符等于原序列中索引 k 處的字符;否則它等于參數 str 中索引 k-n 處的字符。
參數:str - 一個(gè) string。 返回:此對象的一個(gè)引用。
appendpublic StringBuffer append(StringBuffer sb) 將指定的 StringBuffer 追加到此序列中。按順序將 StringBuffer 參數中的字符追加到此 StringBuffer 中,并使 StringBuffer 在長(cháng)度上增加該參數的長(cháng)度。
如果 sb 為 null,則將 4 個(gè) "null" 字符追加到此 StringBuffer 中。 在執行 append 方法前,讓 StringBuffer 中包含的原有字符序列的長(cháng)度為 n。
如果 k 小于 n,則新字符序列中索引 k 處的字符等于原有字符序列中索引 k 處的字符;否則它等于參數 sb 中索引 k-n 處的字符。 該方法在 this(目標)對象上實(shí)現同步,但不在源(sb)上實(shí)現同步。
參數:sb - 要追加的 StringBuffer。 返回:該對象的一個(gè)引用。
從以下版本開(kāi)始:1.4 appendpublic StringBuffer append(CharSequence s) 將指定的 CharSequence 追加到該序列。按順序將 CharSequence 參數中的字符追加到該序列中,使該序列增加該參數的長(cháng)度。
該方法的結果與調用 this.append(s, 0, s.length()) 的結果完全相同; 該方法在 this(目標)對象上實(shí)現同步,但不在源(s)上實(shí)現同步。 如果s 為 null,則追加 4 個(gè) "null" 字符。
指定者:接口A(yíng)ppendable 中的 append參數:s - 要追加的 CharSequence。 返回:此對象的一個(gè)引用。
從以下版本開(kāi)始:1.5 appendpublic StringBuffer append(CharSequence s, int start, int end) 將指定 CharSequence 的子序列追加到此序列。按順序追加參數 s 中的字符,即從索引 start 開(kāi)始到索引 end 結束的此序列的內容。
此序列增加的長(cháng)度為 end - start。 假設此字符序列的長(cháng)度在執行 append 方法前為 n。
如果 k 小于 n,則新字符序列中索引 k 處的字符等于原序列中索引 k 處的字符;否則它等于參數 s 中索引 k+start-n 處的字符。 如果s 為 null,則認為 s 參數包含 4 個(gè)字符 "null",并以此為根據追加字符。
指定者:接口A(yíng)ppendable 中的 append參數:s - 要追加的序列。 start - 要追加的子序列的起始索引。
end - 要追加的子序列的結束索引。 返回:此對象的一個(gè)引用。
拋出: 如果 start 或 end 為負;或者 start 大于 end;或者 end 大于 s.length() 從以下版本開(kāi)始:1.5 appendpublic StringBuffer append(char[] str) 將char 數組參數的字符串表示形式追加到此序列。按順序將數組參數中的字符追加到此序列的內容中。
此字符將增加該參數的長(cháng)度。 該方法的總體效果與以下操作過(guò)程的效果相同:先使用 String.valueOf(char[]) 方法將參數轉換為字符串,然后將所得字符串的字符追加到此字符序列。
參數:str - 要追加的字符。 返回:此對象的一個(gè)引用。
appendpublic StringBuffer append(char[] str, int offset, int len) 將char 數組參數的子數組的字符串表示形式追加到此序列。將char 數組 str 中的字符按順序追加到此序列的內容中,從索引 offset 開(kāi)始。
此字符的長(cháng)度將增加 len。 該方法的最終效果與以下操作過(guò)程的效果相同:先使用 String.valueOf(char[]) 方法將參數轉換為字符串,然后將所得字符串的字符追加到此字符序列。
參數:str - 要追加的字符。 offset - 要追加的第一個(gè) char 的索引。
len - 要追加的 char 的數量。 返回:此對象的一個(gè)引用。
appendpublic StringBuffer append(boolean b) 將boolean 參數的字符串表示形式追加到序列。參數將被轉換成字符串,就好象使用了 String.valueOf 方法一樣。
然后,將所得字符串中的字符追加到此序列。 參數:b - 一個(gè) boolean 值。
返回:此對象的一個(gè)引用。 另請參見(jiàn):String.valueOf(boolean), append(java.lang.String)appendpublic StringBuffer append(char c) 將char 參數的字符串表示形式追加到此序列。
參數將被追加到此序列。此序列的長(cháng)度將增加 1。
該方法的最終效果與以下操作過(guò)程的效果相同:先使用 String.valueOf(char[]) 方法將參數轉換為字符串,然后將所得字符串的字符追加到此字符序列。 指定者:接口A(yíng)ppendable 中的 append參數:c - 一個(gè) char 值。
返回:此對象的一個(gè)引用。appendpublic StringBuffer append(int i) 將int 參數的字符串表示形式追加到此序列。
參數將被轉換成字符串,就好象使用了 String.valueOf 方法一樣。然后,將所得字符串中的字符追加到此序列。
參數:i - 一個(gè) int 值。 返回:此對象的一個(gè)引用。
另請參見(jiàn):String.valueOf(int), append(java.lang.String)。
這個(gè)request是jsp中的request嗎?如果在jsp中,它是一個(gè)內置對象.
request的getRequestURL()方法的返回值本來(lái)就是一個(gè)Stringbuffer類(lèi)型
request的RequestURL()方法的返回值才是一個(gè)String類(lèi)型
url和uri的區別
Universal Resource Identifier, 簡(jiǎn)稱(chēng)"URI"
三部分組成:
1.訪(fǎng)問(wèn)資源的命名機制
2.存放資源的主機名
3.資源自身的名稱(chēng)(路徑)
Uniform Resource Location,簡(jiǎn)稱(chēng)"URL(統一資源定位符)
由三部分組成:
1.協(xié)議(或稱(chēng)為服務(wù)方式)
2.存有該資源的主機IP地址(有時(shí)也包括端口號)
3.主機資源的具體地址(目錄和文件名等)
更詳細google下吧!
request的方法如下(只寫(xiě)一些常用到的):
public java.lang.Object getAttribute(java.lang.String.name)
獲取屬性名,后面是個(gè)字符串
public java.util.Enumeration getAttributeNames()
把所有屬性的名稱(chēng)獲取出來(lái)
public java.lang.String getCharacterEncoding()
獲得字符編碼方式
public int getContentLength()
獲得內容長(cháng)度
public java.lang.String getContentType()
獲得Content類(lèi)型
public ServletInputStream getInputStream() throws java.io.IOException
獲取輸入流,由最底層數據所構成的一個(gè)字符序列
public java.lang.String getParameter(java.lang.String name)
public java.util.Enumeration getParameterNames()
public java.lang.String[] getParameter Values(java.lang.String name)
獲得參數值的列表
public java.lang.String getProtocol()
獲得協(xié)議名
public java.lang.String getScheme()
獲取請求的模式
public java.lang.String getServerName()
獲取服務(wù)器的名稱(chēng)
public int getServerPort()
獲取服務(wù)器的端口號
public java.io.BufferedReader getReader() throws java.io.IOException
getReader方法是返回的是對buffer進(jìn)行字符型讀取的對象
public java.lang.String getRemoteAddr()
獲得遠程的主機地址
public java.lang.String getRemoteHost()
獲得遠程主機名稱(chēng)
public void setAttribute(java.lang.String key,java.lang.Object o)
設置屬性的方法
public java.lang.String getQueryString()
獲得查詢(xún)字符串
與其他對象相交互的方法
public HttpSession getSession(boolean create)
public HttpSession getSession()
public boolean ()
public boolean ()
public Cookie[] getCookie()
public java.lang.String getServletPath()
public java.lang.String getRequestedSessionId()
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:2.931秒