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