按照你的要求編寫的Java程序如下:
在靜寧等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需定制,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站制作,靜寧網(wǎng)站建設(shè)費用合理。
import?java.util.Scanner;
import?java.util.regex.Matcher;
import?java.util.regex.Pattern;
public?class?GG?{
public?static?void?main(String[]?args)?{
Scanner?sc=new?Scanner(System.in);
System.out.println("請輸入以0結(jié)尾的整數(shù)序列:");
String?s=sc.next();
String?regex="(
\\d)\\1
+";
Pattern?p=Pattern.compile(regex);
Matcher?m=p.matcher(s);
int?max=0;
String?maxStr="";
while(m.find()){
if(m.group().length()max){
max=m.group().length();
maxStr=m.group();
}
}
System.out.println("有同樣數(shù)字的最長子序列是"+maxStr+",它的長度是"+max);
}
}
運行結(jié)果:
請輸入以0結(jié)尾的整數(shù)序列:
0391837778298888890
有同樣數(shù)字的最長子序列是88888,它的長度是5
一、什么是序列化:\x0d\x0a序列化理解成“打碎”是可以的,不過在書本上的名詞就是將對象轉(zhuǎn)換成二進制。\x0d\x0a\x0d\x0a二、在java中如何實現(xiàn)序列化:\x0d\x0a首先我們要把準備要序列化類,實現(xiàn) Serializabel接口\x0d\x0a例如:我們要Person類里的name和age都序列化\x0d\x0aimport java.io.Serializable;\x0d\x0a\x0d\x0apublic class Person implements Serializable { //本類可以序列化\x0d\x0a private String name ;\x0d\x0a private int age ;\x0d\x0a \x0d\x0a public Person(String name,int age){\x0d\x0a this.name = name ;\x0d\x0a this.age = age ;\x0d\x0a }\x0d\x0a public String toString(){\x0d\x0a return "姓名:" + this.name + ",年齡" + this.age ;\x0d\x0a }\x0d\x0a}\x0d\x0a\x0d\x0a然后:我們將name和age序列化(也就是把這2個對象轉(zhuǎn)為二進制,統(tǒng)族理解為“打碎”)\x0d\x0apackage org.lxh.SerDemo;\x0d\x0a\x0d\x0aimport java.io.File;\x0d\x0aimport java.io.FileOutputStream;\x0d\x0aimport java.io.ObjectOutputStream ;\x0d\x0a\x0d\x0apublic class ObjectOutputStreamDemo { //序列化\x0d\x0a\x0d\x0a public static void main(String[] args) throws Exception {\x0d\x0a//序列化后生成指定文件路徑\x0d\x0a File file = new File("D:" + File.separator + "person.ser") ; ObjectOutputStream oos = null ;\x0d\x0a//裝飾流(流)\x0d\x0a oos = new ObjectOutputStream(new FileOutputStream(file)) ; \x0d\x0a//實例化類\x0d\x0a Person per = new Person("張三",30) ; oos.writeObject(per) ;//把類對象序列化\x0d\x0a oos.close() ;\x0d\x0a }\x0d\x0a}
簡單來說,如果你只是自己同一臺機器的同一個環(huán)境下使用同一個JVM來操作,序列化和反序列化是沒必要的,當需要進行數(shù)據(jù)傳輸?shù)臅r候就顯得十分必要。比如你的數(shù)據(jù)寫到文件里要被其他人的電腦的程序使用,或者你電腦上的數(shù)據(jù)需要通過網(wǎng)絡(luò)傳輸給其他人的程序使用,像服務器客戶端的這種模型就是一種應用,這個時候,大家想想,每個人的電腦配置可能不同,運行環(huán)境可能也不同,字節(jié)序可能也不同,總之很多地方都不能保證一致,所以為了統(tǒng)一起見,我們傳輸?shù)臄?shù)據(jù)或者經(jīng)過文件保存的數(shù)據(jù)需要經(jīng)過序列化和編碼等操作,相當于交互雙方有一個公共的標準,按照這種標準來做,不管各自的環(huán)境是否有差異,各自都可以根據(jù)這種標準來翻譯出自己能理解的正確的數(shù)據(jù)。
除了在持久化對象時會用到對象序列化之外,當使用RMI(遠程方法調(diào)用),或在網(wǎng)絡(luò)中傳遞對象時,都會用到對象序列化。實現(xiàn)序列化:
1 ? 首先要把準備要序列化類,實現(xiàn) Serializabel接口
import?java.io.Serializable;?
public?class?Person?implements?Serializable?{
//本類可以序列化
private?String?name?;?
private?int?age?;
public?Person(String?name,int?age)
{?
this.name?=?name?;?this.age?=?age?;
}?
public?String?toString()
{
return?"姓名:"?+?this.name?+?",年齡"?+?this.age?;
}?
}
2 序列化
package?org.lxh.SerDemo;?
import?java.io.File;
import?java.io.FileOutputStream;?
import?java.io.ObjectOutputStream?;
public?class?ObjectOutputStreamDemo
{
//序列化?
public?static?void?main(String[]?args)?throws?Exception?
{
//序列化后生成指定文件路徑?
File?file?=?new?File("D:"?+?File.separator?+?"person.ser")?;
ObjectOutputStream?oos?=?null?;
//裝飾流(流)
oos?=?new?ObjectOutputStream(new?FileOutputStream(file))?;?
//實例化類?
Person?per?=?new?Person("張三",30)?;
oos.writeObject(per)?;
//把類對象序列化
oos.close()?;
}?
}
需要注意的是:
靜態(tài)成員是不能被序列化的,因為靜態(tài)成員是隨著類的加載而加載的,與類共存亡,并且靜態(tài)成員的默認初始值都是0;就是說靜態(tài)成員屬于類級別的,所以不能序列化,序列化只是序列化了對象而已。
網(wǎng)頁題目:java代碼如何寫序列 什么是java的序列化,如何實現(xiàn)
標題URL:http://jinyejixie.com/article32/hehisc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計公司、Google、、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)