suggest: - golang slice -> java arraylist - golang interface {} array -> java Object[]
On Fri, Jun 28, 2019 at 6:53 PM xinming he <hxmhlt0...@gmail.com> wrote: > oh,I do not think add a new struct in dubbogo/hessian2 is a good idea. The > more definitions we create, the higher the learning cost of users. There > are slice and array in Golang which slice is a dynamic array . So why we > not create slice of interface{} type in go and arrayList (means a dynamic > array) in java mapping, array of interface{} type in go and object array > in java mapping ? > > > > 方银城 <fangyc...@gmail.com> 于2019年6月28日周五 下午4:57写道: > > > Hi dubbogo community, > > > > > > Today, we found a problem about hessian2 > > <https://github.com/dubbogo/hessian2>. What type does 'Object[]' of java > > correspond to in golang? > > > > 'Object' of java will be decoded to 'interface{}' in golang, so > > 'Object[]' should be decoded to '[]interface{}'. However, '[]interface' > > of golang will be decoded to 'ArrayList' of java. > > Then, we should distinguish 'Object[]' from 'ArrayList' in golang. > And > > I will describe a case: > > > > 1. Define a Object to describe the Object in > > java.(hessian2/list.go) > > [image: image.png] > > > > 2. Add mapping from 'hessian.Object' to '[object'. > > [image: image.png] > > > > 3. Now, '[]interface{}' is equal to 'ArrayList' and '[]Object' > > is equal to 'Object[]'. > > > > Looking forward to different opinions! > > > > Yours, > > > > Yincheng Fang > > > -- Regards, 望哥 -------------------------------------------------------- http://sisopipo.com/blog