JavaWeb day7

泛型的簡介

? ? ? ? ? ? 為什么要使用泛型

? ? ? ? ? ? ? ? ? ? ? ? 一般使用在集合上

????????????????????????????比如現(xiàn)在把一個(gè)字符串類型的值放入到集合里面炊汹,這個(gè)時(shí)候刹衫,這個(gè)值放入到集合之后所灸,失去本來類型,只能是 object 類型譬胎,這個(gè)時(shí)候差牛,比如想要對(duì)這個(gè)值進(jìn)行類型轉(zhuǎn)換命锄,很容易出現(xiàn)類型轉(zhuǎn)換錯(cuò)誤,怎么解決這個(gè)問題偏化,可以使用泛型類來解決脐恩。

? ? ? ? ? ? ?? 在集合上如何使用泛型

? ? ? ? ? ? ? ? ? ? ? ? ? ? 常用集合 list? set? map

? ? ? ? ? ? ? ? ? ? ? ? ? ?? 泛型語法 ? 集合<String> ? 比如List<String>

? ? ? ? ? ? ? ? 在泛型里面寫是一個(gè)對(duì)象,String 不能寫基本的數(shù)據(jù)類型? 比如 int

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 寫基本的數(shù)據(jù)類型對(duì)應(yīng)包裝類

????????????????????????????????????????????byte —— Byte

????????????????????????????????????????????short? ? ——? ? ? Short

????????????????????????????????????????????int? ? ? ? ——? ? ? Integer

????????????????????????????????????????????long? ? ? ——? ? ? Long

????????????????????????????????????????????float? ? ? ? ——? ? ? Float

????????????????????????????????????????????double? ? ——? ? ? Double

????????????????????????????????????????????char? ? ? ——? ? ? ? Character

????????????????????????????????????????????boolean? ? ——? ? Boolean

??????????????????? 在list上面使用泛型

????????????????????????????? list的三種實(shí)現(xiàn) ? ArrayList? LinkedList? Vetor

????????????????????????????List <String> list=new ArrayList<String>();

????????????????????????????????????????list.add("aaa") ;

????????????????????????????????????????list.add("bbb") ;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? list.add("ccc") ;

????????????????????????????????????????//遍歷list

????????????????????????????????????//普通 for 循環(huán)

????????????????????????????????????for(int i=0;i<list.size();i++){

????????????????????????????????????????????????String s=list.get(i);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? System.out.print(s);

????????????????????????????????}

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //使用增強(qiáng) for

????????????????????????????????????????for(String s1:list){

????????????????????????????????????????System.out.print(s1);

????????????????????????????????}

????????????????????????????//使用迭代器遍歷

????????????????????????????Iterator<String> it=list.iterator();

????????????????????????????????while(it.hasNext()){

????????????????????????????????System.out.print(it.next());

????????????????????????????}

? ? ? ? ? ? ? ? 在set上使用泛型

????????????????????????????????Set <String> set=new HashSet<String>();

????????????????????????????????????list.add("www") ;

????????????????????????????????????list.add("qqq") ;

????????????????????????????????????list.add("zzz") ;

????????????????????????????????????//遍歷 set 侦讨,有兩種方式

????????????????????????????????????//for(String s2 : set){System.out.print(s2);

????????????????????????????????}

????????????????????????//使用迭代器遍歷

????????????????????????????Iterator<String> it1=set.iterator();

????????????????????????????????while(it1.hasNext()){

????????????????????????????????System.out.print(it1.next());

????????????????????????}

? ? ? ? ? ? ? ? 在map上面使用泛型

? ? ? ? ? ? ? ? ? ? ? ? ? ? map結(jié)構(gòu):key-value形式

泛型使用在方法上

? ? ? ? ? ? ? ? 定義一個(gè)數(shù)組被盈,實(shí)現(xiàn)指定位置上數(shù)組元素的交換

? ? ? ? ? ? ? ? 方法邏輯相同, 只是數(shù)據(jù)類型不同搭伤,這個(gè)時(shí)候使用泛型方法

? ? ? ? ? ? ? ? ? ? ? ? ? ? 使用泛型方法 需要定義一個(gè)類型 使用大寫字母表示? T:這個(gè)T表示任意的類型

? ? ? ? ? ? ? ? ? ? ? ? ? ? 寫在返回值之前 ? void之前<T>

泛型在類上的使用

? ? ? ? ? ? ? ?? 在一個(gè)類上定義一個(gè)類型只怎,這個(gè)類型可以在類里面直接使用

? ? ? ? ? ? ? ? public class? TestDemo04<T>{

? ? ? ? ? ? ? ? ? ? //在類里面可以直接使用T的類型

? ? ? ? ? ? ? ? ? ? T? aa;

????????????????????} ? ? ?

? ? ? ? ? ? ? ? ? public void test11(T bb){}

? ? ? ? ? ? ? ? ? ? //寫一個(gè)靜態(tài)方法 在類上面定義的泛型? 不能再靜態(tài)方法里面使用

? ? ? ? ? ? ? ? ? ? public? static< A> void test12(A? cc? ){

????????????}

枚舉的簡介

? ? ? ? ? ? ? ? 什么是枚舉

? ? ? ? ? ? ? ? ? ? ? ? ? ? 需要在一定的范圍內(nèi)取值,這個(gè)值只能是這個(gè)范圍內(nèi)中的任意一個(gè)

? ? ? ? ? ? ? ? 使用一個(gè)關(guān)鍵字enum

? ? ? ? ? ? ? ? ? ? ? ? ? ?? enum Color3{

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? RED,GREEN,YELLOW

????????????????????????????}

????????????????????枚舉的構(gòu)建方法是私有的

? ? ? ? ? ? ? ? ? ? 特殊枚舉的操作

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在枚舉類里面有構(gòu)造方法

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 構(gòu)造方法里面有參數(shù)怜俐,需要在每個(gè)實(shí)例上面都寫參數(shù)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在枚舉類里有抽象方法

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在枚舉的每個(gè)實(shí)例里面都重寫這個(gè)抽象方法

枚舉的api的操作

? ? ? ? ? ? ? ? ? ? ? ? name():返回枚舉的名稱

? ? ? ? ? ? ? ? ? ? ? ? ordinal():枚舉的下標(biāo)身堡,下標(biāo)是從0開始

? ? ? ? ? ? ? ? ? ? ? ? ValueOf(Class<T>? enumType,String name):得到枚舉的對(duì)象

? ? ? ? ? ? ? ? ? ? ? ? 還有兩個(gè)方法,都是這兩個(gè)方法不在api里面拍鲤,編譯的時(shí)候生成兩個(gè)方法

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ValueOf(String name) ?? 轉(zhuǎn)換枚舉對(duì)象

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Values() ? 獲得所有枚舉對(duì)象數(shù)組

? ? ? ? ? ? ? ? ? ? 知道枚舉的對(duì)象贴谎,得到枚舉名稱和下標(biāo)

? ? ? ? ? ? ? ? ? ? @Test

? ? ? ? ? ? ? ? ? ? public void? test1(){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //得到枚舉對(duì)象

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Color100 c100=Color100.RED; ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //枚舉名稱

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? String name=c100.name();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //枚舉的下標(biāo)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? int idx=c100.ordinal();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? System.out.println(name+"? "+idx);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? }

? ? ? ? ? ? ? ? ? ? ? ? 知道枚舉名稱,得到枚舉對(duì)象和下標(biāo)

????????????????????????????????publicvoidtest(){

????????????????????????????????String? name1="GREEN";

????????????????????????????????color? c1=color.valueOf(name1);

????????????????????????????????//得到枚舉對(duì)象

????????????????????????????????int idx=c1.ordinal(); //得到枚舉下標(biāo)

????????????????????????????????}enumcolor(

????????????????????????????????RED,GREEN,YELLOW

????????????????????????????????????)

????????????????????????知道枚舉下標(biāo)季稳,得到枚舉對(duì)象和名稱

????????????????????????????public void? test(){

????????????????????????????????int idx2=2;

????????????????????????????????color[]? cs=color.values();//得到枚舉對(duì)象數(shù)組

????????????????????????????????color? c2=cs[idx2];? //根據(jù)下標(biāo)得到對(duì)象

????????????????????????????String? name=c2.name(); //根據(jù)對(duì)象得到名稱

????????????????????????????}enumcolor(

????????????????????????????????RED,GREEN,YELLOW

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? )

靜態(tài)導(dǎo)入 ? ??

? ? ? ? ? ? ? ? ? ? ? ? 可以在代碼里面擅这,直接使用靜態(tài)導(dǎo)入方式,導(dǎo)入靜態(tài)方法或者常量

? ? ? ? ? ? ? ? ? ? ? ? import ? static ? ? XX.XX.xxx

自動(dòng)拆裝箱

? ? ? ? ? ? ? ? ? ? ? ? 裝箱:把基本的數(shù)據(jù)類型轉(zhuǎn)換成包裝類

? ? ? ? ? ? ? ? ? ? ? ? 拆箱:把包裝類轉(zhuǎn)換成基本的數(shù)據(jù)類型

????????????????????????//自動(dòng)裝箱

????????????????????????Integer i=10;

????????????????????????//自動(dòng)裝箱

????????????????????????int m=1;

????????????????????????在 jdk 1.4里面如何實(shí)現(xiàn)裝箱和拆箱

????????????????????????????????????publicvoidtest1(){

????????????????????????????????????????????//裝箱

????????????????????????????????????????????Integer m = new Integer(10)景鼠;

????????????????????????????????????????????//拆箱

????????????????????????????????????????????int a = m.intValue();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? }

? ? ? ? ? ? ? ? ? ? ? ? jdk是會(huì)向下兼容

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 比如子jdk1.4里面寫的代碼仲翎,這個(gè)時(shí)候到5.0里面也可以運(yùn)行

增強(qiáng)for循環(huán)

? ? ? ? ? ? ? ? ? ? ? ? 語法:for(遍歷出來的值:要遍歷的集合){}

? ? ? ? ? ? ? ? ? ? ? ? 使用場景: 數(shù)組:實(shí)現(xiàn)Iterable接口的集合 ? 可以使用增強(qiáng)for循環(huán)?

? ? ? ? ? ? ? ? ? ? ? ? 在集合上使用增強(qiáng)for遍歷循環(huán)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? list? set? 實(shí)現(xiàn)了Iterator接口,所以可以使用增強(qiáng)for循環(huán)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? map不能使用增強(qiáng)for循環(huán) 沒有實(shí)現(xiàn)Iterator接口铛漓,所以不能使用增強(qiáng)for循環(huán)

? ? ? ? ? ? ? ? ? ? ? ? 增強(qiáng)for循環(huán)出現(xiàn)的目的:為了替代迭代器

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 增強(qiáng)for底層就是迭代器實(shí)現(xiàn)的

內(nèi)容補(bǔ)充

? ? ? ? ? ? ? ? ? ? ? ?? 1.泛型擦除

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 首先泛型只是出現(xiàn)在源代碼階段溯香,當(dāng)編譯之后泛型不存在了

? ? ? ? ? ? ? ? ? ? ? ? 2.練習(xí):實(shí)現(xiàn)一個(gè)泛型方法,接受任意類型的數(shù)組浓恶,顛倒數(shù)組中的所有元素

????????????????????????????????????public static <T> voidreverse(T[] arr1){

????????????????????????????????????????for(int i=0;i<arr1.length/2;i++){

????????????????????????????????????????T temp =arr1[i];

????????????????????????????????????????arr1[i]=arr1[arr1.length-i-1];

????????????????????????????????????????arr1[arr1.length-i-1]=temp;

????????????????????????????????????????????}

????????????????????????????????????????????????}

可變參數(shù)

? ? ? ? ? ? ? ? ? ?? 可變參數(shù)可以應(yīng)用在什么場景:

? ? ? ? ? ? ? ? ? ? ? ? ?? 實(shí)現(xiàn)兩個(gè)數(shù)的相加玫坛,實(shí)現(xiàn)三個(gè)數(shù)的相加, 四個(gè)數(shù)的相加 ??

? ? ? ? ? ? ? ? ? ? ? 如果實(shí)現(xiàn)多個(gè)方法包晰,這些方法里面邏輯基本相同湿镀,唯一不同的是傳遞的參數(shù)個(gè)數(shù),這時(shí)候可以使用可變參數(shù)

? ? ? ? ? ? ? ? ? ? 可變參數(shù)的定義方法 ? 數(shù)據(jù)類型...數(shù)組的名稱

? ? ? ? ? ? ? ? ? ? 理解為一個(gè)數(shù)組伐憾,這個(gè)數(shù)組存儲(chǔ)傳遞過來的參數(shù)

????????????????????????????public? static? void ?? add1(int...nums){

????????????????????????????????????????????int sum=0;

????????????????????????????????????????????for(int i=0;i<nums.length;i++){

????????????????????????????????????????sum+=nums[i];

????????????????????????????????????????????????????}

????????????????????????????????????????????System.out.print(sum);

????????????????????????????????????????}

????????????????????????????????publicstaticvoidmain(String[] args){

????????????????????????????????add1(10,20);

????????????????????????????????add1(10,20,30);

????????????????????????????????add1(10,20,30,40);

????????????????????????????????????}

????????????????????????????public ? static ?? void ? ? add1(int...nums){

????????????????????????????????int sum=0;

????????????????????????????????for(int i=0;i<nums.length;i++){

????????????????????????????????????sum+=nums[i];

????????????????????????????????????????}

????????????????????????????????????????System.out.print(sum);

??????????????????????????????????????}

????????????????????????????????public static? void ? main(String[] args){

????????????????????????????????????add1(10,20);

????????????????????????????????????add1(10,20,30);

????????????????????????????????????add1(10,20,30,40);

????????????????????????????????????????}

? ? ? ? ? ? ? ? ? ? 注意的地方 ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.可變參數(shù)需要寫在方法的參數(shù)列表中

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 不能單獨(dú)定義

? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.在方法的參數(shù)列表中只能有一個(gè)可變參數(shù)

? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.方法的參數(shù)列表中的可變參數(shù)勉痴,必須放在參數(shù)最后

反射的原理

? ? ? ? ? ? ? ? ? ?? 應(yīng)用在一些通用性比較高的代碼中

? ? ? ? ? ? ? ? ? ? 后面學(xué)到的框架 ?? ,大多數(shù)都是使用反射來實(shí)現(xiàn)的

? ? ? ? ? ? ? ? ? ? 在框架開發(fā)中塞耕,都是基于配置文件開發(fā)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 在配置文件中配置了類蚀腿,可以通過反射得到的類中的所有內(nèi)容,可以讓類中的某個(gè)方法來執(zhí)行

? ? ? ? ? ? ? ? ? ? 類中的所有內(nèi)容: 屬性扫外,沒有數(shù)的構(gòu)造方法莉钙,有參數(shù)的構(gòu)造方法,普通方法

? ? ? ? ? ? ? ? ? ? 反射的原理

????????????????????????????1.首先需要 java 文件保存到本地硬盤 .java

????????????????????????????2.編譯java 文件筛谚,成 .class文件

????????????????????????????3.使用 jvm 磁玉,把 class 文件通過類加載加載到內(nèi)存中

????????????????????????????4.萬事萬物皆是對(duì)象,class 文件在內(nèi)存中使用 class 類表示

????????????????????????????5.當(dāng)使用反射的時(shí)候驾讲,首先需要獲取到class 類蚊伞,得到了這個(gè)類之后,就可以得到 class 文件里面的所有內(nèi)容——包含屬性吮铭,構(gòu)造方法时迫,普通方法

????????????????????????????6.屬性通過一個(gè)類 Filed

????????????????????????????7.構(gòu)造方法通過一個(gè)類 constructor

????????????????????????????8.普通方法通過一個(gè)類 Method

使用反射操作類里面的屬性

? ? ? ? ? ? ? ? ? ? ? ? 首先獲取到Class類

???????????????????????? Class clazz1=person.class;

???????????????????????? Class clazz2=new person().getClass();

???????????????????????? Class clazz3=Class.forName("day06.person");

? ? ? ? ? ? ? ? ? ? ? ? 操作無參數(shù)的構(gòu)造方法

????????????????????????????????????public void? test1() ? ?? throws ? Exception{

??????????????????????????????????????? //得到 class ?

????????????????????????????????????? Class c3=Class.forName("cn.itcast.test09.Person");

????????????????????????????????????????//得到 person 實(shí)例 ? ? ?

????????????????????????????????????? person p=(person)c3.newInstance();

??????????????????????????????????????? //設(shè)置值 ? ?

??????????????????????????????????????? p.setName("zhangsan");

????????????????????????????????????????System.out.println(p.getName());

??????????????????????????????????????????? }

使用反射操作有參數(shù)的構(gòu)造方法

????????????????????????public ? void ? ?? test2() ? throws ?ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{


????????????????????????Class c1=Class.forName("cn.itcast.test09.Person");

??????????????????????? //傳遞有參數(shù)的構(gòu)造方法里面的參數(shù)類型,類型使用 class 形式傳遞 ? ? ? ?

????????????????????????Constructor? cs=c1.getConstructor(String.class,String.class);

??????????????????????? //通過有參數(shù)的構(gòu)造方法設(shè)置值?

? ? ? ? ? ? ? ? ? ? ? ? //通過有參數(shù)的構(gòu)造方法創(chuàng)建Person實(shí)例

????????????????????????? person p1=(person) cs.newInstance("lisi","100");

? ? ? ? ? ? ? ? ? ? ? ? ? System.out.println(p1.getId()+" "+p1.getName());

? ? }

使用反射操作屬性

????????????????????public ?? void ? ? test3() ?? throws ?ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{

????????????????? try {

? ? ? ? ? ? ? ? ? ?? Class cc=Class.forName("day06.person");

? ? ? ? ? ? ? ? ? ? ?? //得到 person 類的實(shí)例 ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? Person p11=(Person)? c2.newInstance();

???????????????????????? //通過這個(gè)方法得到屬性谓晌,參數(shù)是屬性的名稱

?????????????????????????Field f1=cc.getDeclaredField("name");

????????????????????????//操作的是私有屬性掠拳,不讓操作,需要設(shè)置可以操作私有屬性setAccessible(true)

?????????????????????????f1.setAccessible(true);

????????????????????????//設(shè)置name的值 ?

????????????????????????? f1.set(p , "wangwu");//相當(dāng)于 p.name="wangwu" ? ? ? ?

????????????????????????}catch(Exception e) {

??????????????????????????? e.printStackTrace();

????????????????????}

??????????????????? }

使用泛型操作普通方法

????????????????????使用 Method 類表示普通方法

???????????????????? public ?? void ? ? test4() ? ? ? throws ? ? ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{

????????????????????Class c4=Class.forName("day06.person");

??????????????????? / /得到 person 實(shí)例 ? ? ??

?????????????????person p4=(person) c4.newInstance();

??????????????????? //得到普通方法 ??

?????????????????//傳遞兩個(gè)參數(shù)纸肉,第一個(gè)參數(shù):方法名稱第二個(gè)參數(shù):通過方法設(shè)置的值 ? ? ? ?

????????????????????Method? m1=c4.getDeclaredMethod("setname", String.class);

??????????????????? //讓 setName方法執(zhí)行溺欧,執(zhí)行設(shè)置值 ? ?

??????????????????????? m1.invoke(p4, "niuqi");

?????????????????????? System.out.println(p4.getName());

? ? }

? ? ? ? ? ? ? ? 操作的私有的方法,需要設(shè)置值是true

? ? ? ? ? ? ? ? 當(dāng)操作的方法是靜態(tài)的方法時(shí)候柏肪,因?yàn)殪o態(tài)方法調(diào)用方式是 ?? 類名.方法名 ? 不需要類的實(shí)例

? ? ? ? ? ? ? ? 使用反射操作靜態(tài)方式時(shí)候姐刁,也不需要實(shí)例

? ? ? ? ? ? ? ? 在invokie方法的第一個(gè)參數(shù)里面 ,寫一個(gè)? null

????????????

????????

????????????????????????

????????????????????

????????????????????

????????????????????????????

????????????????????????????

????????????????????

????????????

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末烦味,一起剝皮案震驚了整個(gè)濱河市聂使,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谬俄,老刑警劉巖岩遗,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異凤瘦,居然都是意外死亡宿礁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門蔬芥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梆靖,“玉大人,你說我怎么就攤上這事笔诵》滴牵” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵乎婿,是天一觀的道長测僵。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么捍靠? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任沐旨,我火速辦了婚禮,結(jié)果婚禮上榨婆,老公的妹妹穿的比我還像新娘磁携。我一直安慰自己,他們只是感情好良风,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布谊迄。 她就那樣靜靜地躺著,像睡著了一般烟央。 火紅的嫁衣襯著肌膚如雪统诺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天疑俭,我揣著相機(jī)與錄音粮呢,去河邊找鬼。 笑死怠硼,一個(gè)胖子當(dāng)著我的面吹牛鬼贱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播香璃,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼这难,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了葡秒?” 一聲冷哼從身側(cè)響起姻乓,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎眯牧,沒想到半個(gè)月后蹋岩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡学少,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年剪个,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片版确。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡扣囊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绒疗,到底是詐尸還是另有隱情侵歇,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布吓蘑,位于F島的核電站惕虑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜溃蔫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一健提、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧酒唉,春花似錦矩桂、人聲如沸沸移。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雹锣。三九已至网沾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蕊爵,已是汗流浹背辉哥。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留攒射,地道東北人醋旦。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像会放,于是被迫代替她去往敵國和親饲齐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容