作者查詢 / ssccg
作者 ssccg 在 PTT [ java ] 看板的留言(推文), 共2140則
限定看板:java
看板排序:
全部Gossiping57313ChainChron8708NIHONGO5749C_Chat5643LightNovel3843java2140Wine2005chess1958AndroidDev1488FORMULA11463LoL1393Soft_Job1124C_Sharp1030FATE_GO759Web_Design637TypeMoon589Tennis550SMSlife547Tech_Job457FBG421Aviation200Tea187Grad-ProbAsk186StupidClown179KIRARA149marriage147MLB100e-shopping79PuzzleDragon79Ajax73Salary59home-sale54GraduateCram49GO44Japan_Travel42Seikai42joke38study35creditcard32L_TalkandCha32Marginalman32MacDev31car28WorldCup25HatePolitics24graduate22Teacher22LordsOfWater21PublicServan19Master_D17NihonBook17SENIORHIGH17Kaohsiung15Bank_Service13book13Olympics_ISG12StarCraft12C_BOO11Drink11MJ_JP11pts11C_and_CPP10nCoV201910rent-exp9ScienceNote9CVS8Hsinchu7Post7R_Language7TaichungBun7TOEIC7TPC_Police7WomenTalk7Baseball6biker6Fantasy6gallantry6NTU6NTUcourse6NY-Yankees6PingTung6Stock6BigBanciao5Examination5LangService5movie5MuscleBeach5Sub_GMobile5Taoyuan5AfterPhD4Delivery4I-Lan4Liu4NDHU-His964Tainan4AppleDaily3e-coupon3Finance3Hearthstone3IA3media-chaos3MobileComm3NTUDormG13PhD3specialman3SuperBike3TW-language3TY_Research3Weyslii3YOLO3Boy-Girl2cookclub2Doraemon2GameDesign2H-GAME2KOTDFansClub2KS95-3182LAW2Lawyer2Military2Non-Graduate2Palmar_Drama2PublicIssue2Railway2Translation2AC_Music1B97A013XX1bicycle1BraveFrontie1C_ChatBM1CFantasy1Database1EatToDie1Food_Safety1Geography1GossipPicket1juniorhigh1LTK1MATLAB1MGL-history1Miaoli1NextTV1NTPU-CSIE941NTPU-CSIE951NTUE-ME1001NTUSA1PunishRecord1sex1Shana1stationery1TamShui1Test1<< 收起看板(152)
5F→: 為什麼在runtime執行要可以? runtime的時候static context12/20 21:48
6F→: 裡還是沒有instance可以用啊12/20 21:48
10F→: 其實不是用instance呼叫,是compiler看reference variable12/21 13:53
11F→: 的type去選class,這是compile time做的沒用到instance12/21 13:55
1F→: super就是指parent instance,Java spec裡沒有說在static12/20 21:53
2F→: context裡super可以當parent class來用,所以就不行12/20 21:53
3F→: 跟runtime不runtime沒關係12/20 21:53
4F→: 這不是做不做的到的問題,而是Java設計上就是如此12/20 22:10
12F→: C#有Struct、ValueType,在primitive的處理跟java不太一樣12/22 09:59
13F→: 不過C#也不能overload =,在這邊要用implicit coversion12/22 10:29
6F→: class封裝來說,繼承就是取得parent的非private的member12/19 15:04
7F→: 但是parent又去繼承了什麼東西是parent class的實作細節12/19 15:04
8F→: child class知道parent有tell(),但不該知道parent的第幾層12/19 15:05
9F→: parent有個tell(),那不是由繼承能使用的介面12/19 15:05
10F→: 你想跳過B這件事就有問題了,C本來就不該知道B是繼承了什麼12/19 15:07
11F→: C只知道B提供什麼,不知道那是B自己實做還是繼承來的12/19 15:08
3F→: 你根本沒有懂,就說你的結果跟不可變性"完全"沒關係12/18 20:33
4F→: String不可變是String不提供任何方法修改它裡面char array12/18 20:34
5F→: 存的值,要修改一定是產生新的String object12/18 20:35
6F→: 剛進method的str2指向的就是完全同一個String12/18 20:39
7F→: 並沒另外開一個空間,是之後你自己開新的空間放新的String12/18 20:40
8F→: ="abc"相當於=new String(new char[] {'a','b','c'})12/18 20:43
9F→: 可變性的意義在於如果有個MutableString class12/18 20:44
10F→: 你可以用str2.setValue("abc")去改object的內容12/18 20:45
11F→: 而不用寫成str2 = new MutableString("abc")12/18 20:45
12F→: 只要用的是 = new XXX(),不管哪個class都是一樣的結果12/18 20:47
13F→: 只要你用的是 = 都是不會變的,因為 = 不是改object裡的值12/18 20:52
14F→: 而是改reference指向的位址12/18 20:52
15F→: 只有primitive type的時候用 = 才是改值12/18 20:52
23F→: 覆蓋原本的值也是覆蓋reference,而不是覆蓋value12/18 20:57
25F→: 上面我簡化沒有考慮string pool的問題,但重點就是你用 =12/18 20:57
26F→: 永遠改不到原本那個object的值12/18 20:57
27F→: 任何reference type變數的賦值動作(=)都只是改指向不同物件12/18 20:59
31F推: 我是不知道你打算怎麼試,但是除了primitive的autowrapper12/18 21:05
32F→: 還有String literal("...")以外,其他type都很清楚就是換了12/18 21:06
33F→: 物件啊...12/18 21:07
34F→: 如果你有學過C++,java的reference type基本上就是pointer12/18 21:10
35F→: 如果是C++的pass by reference(&),即使物件是mutable12/18 21:14
36F→: 還是可直接改caller func中那個reference的值(指向的位址)12/18 21:15
37F→: 或是你可以去用C#試,C#的reference type跟java一樣12/18 21:17
38F→: String也是Immutable,但是方法可以pass by reference12/18 21:17
39F推: 你的ex1用C# pass by ref版 http://ideone.com/Miptpm12/18 21:23
45F→: immutable不是不能修改reference值,是不能修改object裡面12/18 23:20
46F→: 的data,你還是直接看上面的C#的範例...12/18 23:22
47F推: 既然會C++也給你一個C++版 http://ideone.com/DSzyGI12/18 23:37
48F→: 不是我覺得,是java的reference變數真的就是pointer12/18 23:37
49F→: 改是改pointer指的位址,但是在call by value的時候改不動12/18 23:38
50F→: caller func裡面的pointer變數12/18 23:38
51F→: 很明顯就call by value/call by reference的差別啊..12/18 23:46
52F→: btw auto-boxing是指對只吃Object子class的地方(如list)12/18 23:49
53F→: 自動包wrapper,unboxing是在assign給primitive變數的時候12/18 23:50
54F→: 自動改為取值(.xxxValue)而不是assign reference12/18 23:51
55F→: 如果全程都是直接用Integer這個class,那與一般class沒差別12/18 23:51
56F→: 把Integer assign給Integer變數是不會有auto-box/unbox行為12/18 23:53
64F→: 就算是mutable class,caller func的pointer還是不會改到12/19 09:41
65F→: 因為是pass by value,在傳入時只是複製pointer的值12/19 09:42
66F→: d大的圖我只能說 // 因為字串的 Immutable... 這句完全錯誤12/19 09:43
67F→: 不管是什麼class,用assign (=)的方式,改的永遠都是str2指12/19 09:44
68F→: 向的位址(pointer value)而已,原本的那個object不會被動到12/19 09:45
69F→: 要動原本的object就要用它的method/field12/19 09:48
70F→: immutable意義在於原本的object沒有公開的改值method/field12/19 09:48
71F→: 用pointer來說的話就是要改object的值一定要先dereference12/19 09:50
72F→: 用=只會改pointer存的位址12/19 09:51
73F→: 你好像幻想lhs如果是個mutable reference type變數12/19 10:05
74F→: 用=會自動把lhs指向的物件中代表value的field拿出來,然後12/19 10:06
75F→: 把rhs expression物件中代表value的field裡存的值放進去12/19 10:07
76F→: 從你上面提auto-boxing可以看出來,可是實際上沒這回事12/19 10:10
77F→: =只會把lhs reference直接改成指向rhs的結果物件12/19 10:11
78F→: lhs原本指向什麼完全沒差,在=的動作中那個物件根本沒出場12/19 10:11
79F→: =只有在lhs是primitive type的時候才是賦值(因為primitive)12/19 10:22
80F→: type才有所謂value,如果lhs是reference type,他指向的物12/19 10:22
81F→: 件不一定有所謂的value,這時做的都只是改指向的物件12/19 10:24
2F→: Generic是compile-time的檢查,用一個run-time的參數字串12/19 12:47
3F→: 來決定就不是generic,但是你又想要compile-time不檢查型別12/19 12:48
4F→: (不用cast),Java是做不到的12/19 12:48
5F→: generic基本上還是static型別系統,你想要的要dynamic型別12/19 12:53
6F→: 不是不能這樣設計,但是Java沒有dynamic型別所以就只能cast12/19 12:55
19F→: ex1是產生一個新的reference(pass by reference value)12/18 05:49
20F→: 沒有產生另一個instance object12/18 05:49
21F→: 剛進tell時str1跟str2是指向同一個String object12/18 05:50
22F→: 重點在str1跟str2是兩個不同的reference,str2改指到哪邊12/18 05:51
23F→: str1都沒變, ex2裡面e1跟str2也一樣是不同的reference12/18 05:52
24F→: 剛進tell時e1和str2指向同一個Ex2 object,所以Ex2裡面的12/18 05:52
25F→: temp是同一個12/18 05:53
26F→: ex1的行為相當於ex2在tell裡寫str2 = new Ex2(); ...12/18 05:54
1F→: 用ajax,你就可以什麼都不回傳網頁也不會被洗掉12/14 21:27
2F→: 整頁重新request就什麼都不剩了,沒有什麼callback12/14 21:28
4F→: 可以啊,把post時候網頁上所有狀態記到cookie/local store12/14 22:19
5F→: 或是傳回server,然後照著填回去就可以12/14 22:19
6F→: 但這不是servlet response什麼都不做,而是要重現全部狀態12/14 22:20
7F→: 用ajax,client端網頁還在,才能設回來的動作12/14 22:23
1F→: 我不知道你指的script是什麼,我猜他的script是指code12/13 16:02
2F→: google到了出處那篇,感覺有好幾點不太正確...12/13 16:11
2F→: 要不cast你type就要用generic,那你整個class就要有個Type12/12 10:45
3F→: parameter,你現在的作法完全不generic,跟用List沒差別..12/12 10:45