小编sha*_*ath的帖子

元素在Arraylist迭代期间失踪

有人可以向我解释下面这段代码有什么问题吗?

public static void main(String[] args) {
 List<String> l = new ArrayList<String>();
  l.add("1");
  l.add("2");
  l.add("3");
  l.add("4");

  for (int i = 0; i < l.size(); i++) {
   if(l.get(i).equals("1"))
    l.remove(l.get(i));
   else
    System.out.println(l.get(i));
  }
 }
Run Code Online (Sandbox Code Playgroud)

给我输出[3.4]而不是[2,3,4] ..我的[2]是什么?我对列表的这种行为感到困惑..如果有人可以解释的话,那很好..

提前致谢 :)

java collections list arraylist

1
推荐指数
1
解决办法
1965
查看次数

Chrome扩展开发:消息传递问题

使用Google Chrome扩展程序中的内容脚本传递邮件时遇到问题我的代码结构如下所示:

popup.html:

var oList;
function getHTML()
{
    chrome.tabs.getSelected(null, function(tab) {
     chrome.tabs.sendRequest(tab.id, {action:"getHTML"}, function handler(response) {
      oList = response.dom;
     });
   });

   alert("oList = "+oList );
}
Run Code Online (Sandbox Code Playgroud)

我的内容脚本看起来像这样:

chrome.extension.onRequest.addListener(
  function(request, sender, sendResponse) {
  if(request.action == "getHTML"){
   sendResponse({dom: document.getElementsByTagName("HTML").length});   
     }
  });
Run Code Online (Sandbox Code Playgroud)

当我通过oList = response.dom;在我的popup.html 中的" " 处设置断点来调试我的代码时,我从内容脚本中获得了正确的值集.但是在执行扩展时,alert("oList = "+oList );popup.html中的" "代码似乎在它进入服务器之前首先执行..因此,它的值没有被设置..有人可以告诉我,我在某处错了吗?

javascript google-chrome chromium google-chrome-extension

1
推荐指数
1
解决办法
1199
查看次数

MongoDB找到子文档ID

我有这样的架构设置:

{
 _id:1234,
 friends: [
           {
             "fid":1235
             "is_user":true
           },
           {
             "fid":1236
             "is_user":true
           },
           {
             "fid":1235
             "is_user":false
           }
          ]
 }
Run Code Online (Sandbox Code Playgroud)

我的要求是,给定一个_id,我需要找到所有的朋友IDS (fid)谁已is_user设置为true.

我尝试了以下方法:

db.users.find({ friends: { $elemMatch : { is_app_user: true}}});
Run Code Online (Sandbox Code Playgroud)

似乎在整个系列中给我回复结果,但我想要它用于ID.所以我试过这个:

db.users.find({_id:1234},{friends: { $elemMatch : { is_app_user: true}}});
Run Code Online (Sandbox Code Playgroud)

但这没有给我什么.而且,我所需要的只是fid.有人可以帮我解决这个问题吗?

mongodb mongodb-java mongodb-query

1
推荐指数
1
解决办法
1480
查看次数

MongoDB Java驱动程序:没有这样的cmd:aggregate

我在我的代码中调用MongoDB聚合函数:

AggregationOutput output = collection.aggregate( matchUserID, unwindF, matchFUsers,projection);
Run Code Online (Sandbox Code Playgroud)

我在我的localhost中测试了我的代码,它完美无缺.当我在另一个DB(版本2.2.1)中使用相同的时,它会出现此错误:

com.mongodb.CommandResult$CommandFailure: command failed [aggregate]: { "serverUsed" : "<server address>" , "errmsg" : "no such cmd: aggregate" , "bad cmd" : { "aggregate" : .... }
Run Code Online (Sandbox Code Playgroud)

有什么线索的原因?

mongodb mongodb-java mongodb-query

1
推荐指数
1
解决办法
7945
查看次数

Elasticsearch:在不添加索引映射的情况下测试自定义分析器

我可以测试自定义的 Elasticsearch 分析器/分词器而不先将其添加到索引吗?就像是:

GET _analyze
{
  "tokenizer": {
        "my_custom_tokenizer": {
          "type": "edge_ngram",
          "min_gram": 2,
          "max_gram": 10,
          "token_chars": [
          "letter", "digit", "symbol"

          ]
        }
      },
  "text" : "this is a test"
}
Run Code Online (Sandbox Code Playgroud)

我可以通过首先向索引添加一个新的分析器来测试它 -

curl -X PUT "localhost:9200/my_index" -H 'Content-Type: application/json' -d'
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_custom_analyzer": {
          "tokenizer": "my_custom_tokenizer"
        }
      },
      "tokenizer": {
        "my_custom_tokenizer": {
          "type": "edgeNGram",
          "min_gram": 1,
          "max_gram": 30,
          "token_chars": [
          "letter", "digit", "symbol", "punctuation", "whitespace"

          ]
        }
      }
    }
  }
}
'
Run Code Online (Sandbox Code Playgroud)

然后这样做-

curl …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

1
推荐指数
1
解决办法
432
查看次数

Flutter:Freezed 和 json_serialized 包的编译问题

我正在尝试将freezejson_serialized一起使用。我正在使用以下版本

freezed: ^0.9.2
json_serializable: ^3.2.5
freezed_annotation: ^0.7.1
Run Code Online (Sandbox Code Playgroud)

我冻结的课程看起来像这样

import 'package:flutter/foundation.dart';
import 'package:freezed_annotation/freezed_annotation.dart';

part 'freezed_classes.freezed.dart';

@freezed
abstract class User with _$User {
  factory User(
      {@required String uid,
      String firstName,
      String lastName,
      String email,
      Map<int, String> pictures
      }) = _User;

  factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
}
Run Code Online (Sandbox Code Playgroud)

我用它来生成类

flutter pub run build_runner watch --delete-conflicting-outputs
Run Code Online (Sandbox Code Playgroud)

该命令似乎执行成功,但我的 IDE 似乎抛出了这些编译问题

error: The method '_$_$_UserFromJson' isn't defined for the class '_$_User'. (undefined_method at  lib/freezed/freezed_classes.freezed.dart:68)
error: The method '_$_$_UserToJson' isn't defined for the …
Run Code Online (Sandbox Code Playgroud)

dart flutter

1
推荐指数
1
解决办法
4000
查看次数

Java + MongoDB托管

我有一个移动应用程序,我需要在后端支持java/mongodb.我正在考虑使用各种组合.我现在不想花很多钱作为它的"爱好"应用程序开始.

这些是我想到的各种选择:

在EC2上托管Java和MogoDB - > Ill必须管理所有mongoDB管理工作,从创建副本集到备份(m不是mongo DB guru)

在mongolab.com或mongohq.com上托管Java someplace(任何建议?)和MongoDB - >他们为我管理mongodb,我只是编写Java层,只是在我的数据库设计上工作.

那里有便宜的选择的任何输入?

java mongodb cloud-hosting mongodb-java

0
推荐指数
1
解决办法
3134
查看次数