所以我有一个可能是数组的对象.它也可以是原始的或字符串.如果它是一个数组,它可以是一个字面上的任何数组.
我没有问题弄清楚它是否是一个数组,但我似乎无法把它转换成任何我可以迭代来获取值的东西.
// o is an object and clazz is the class of the o
if (clazz == Array.class) {
Class ofArray = o.getClass().getComponentType();
String arrayType = ofArray.getName(); // 'Double' for my test case
//ERROR: [D cannot be cast to [Ljava.lang.Object
Object[] objects = (Object[]) o;
}
Run Code Online (Sandbox Code Playgroud)
我的背景是在ruby和php(它可以正常工作)和静态打字是我的头.有任何想法吗?
编辑:
这会引发错误
[D cannot be cast to [Ljava.lang.Object.
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
if (o.getClass().isArray()) {
Object[] objects = (Object[]) o;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试对集合进行全文搜索,但为了做到这一点,我需要创建一个文本索引(http://docs.mongodb.org/manual/tutorial/create-text-index-on-多场/)
mgo库提供了一个EnsureIndex()函数,但它只接受一段字符串作为键.我尝试将索引写为字符串:{ name: "text", about: "text" }并将其传递给该函数,但它不起作用.
我还设法在mongo shell中手动创建索引,但我真的想在我的go项目中记录索引.这可能吗?提前致谢!
比方说,我有一个看起来像这样的数组:
var myArray = [[1,2,3],[1,2,3,4],[1,2],[1,2]];
Run Code Online (Sandbox Code Playgroud)
我试图myArray在这种情况下找到第一个最短的数组myArray[2].
显然我可以写一个循环,检查每个数组的长度并返回最小的数组.我想知道的是,如果在javascript中有一个非常干净或切割方式.有点像这样:http://ejohn.org/blog/fast-javascript-maxmin/
谢谢!