小编Azi*_*uth的帖子

&&(AND)和|| (或)在IF声明中

我有以下代码:

if(!partialHits.get(req_nr).containsKey(z) || partialHits.get(req_nr).get(z) < tmpmap.get(z)){  
    partialHits.get(z).put(z, tmpmap.get(z));  
}
Run Code Online (Sandbox Code Playgroud)

partialHitsHashMap 在哪里.
如果第一个陈述是真的,会发生什么? Java还会检查第二个声明吗?因为为了使第一个语句为真,HashMap不应该包含给定的键,所以如果选中第二个语句,我会得到NullPointerException.
所以简单来说,如果我们有以下代码

if(a && b)  
if(a || b)
Run Code Online (Sandbox Code Playgroud)

Java会检查第一种情况b是否a为假,a第二种情况是否为真?

java if-statement

126
推荐指数
7
解决办法
146万
查看次数

Python FileCookieJar.save()问题

我有一个问题,当设法保存使用Cookie文件FileCookieJarsave方法.这是我的代码:

#!/usr/bin/python
import httplib, cookielib, urllib2, json, time
from datetime import date


class FoN:
    def __init__(self):
            self.cookiefile = "cookies.txt"
            self.cj = cookielib.FileCookieJar(self.cookiefile)
    def login (self, login, password):
            js = json.JSONEncoder().encode({"login":login,"password":password})
            req=urllib2.Request("http://www.example.com/user/login", js)
            res=urllib2.urlopen(req)
            self.cj.extract_cookies(res,req)
            self.cj.save(self.cookiefile, ignore_discard=True)
            f.write ("Login: "+login+", result: "+str(res.read().count("true"))+"\n")
            time.sleep(2)
            return res
Run Code Online (Sandbox Code Playgroud)

因此,根据文档,它无法self.cj.save(self.cookiefile, ignore_discard=True)提出NotImplementedError异常.但我的问题是如何将cookie保存到文件中呢?我甚至试图在代码中包含代码,try但这根本没有帮助.

python cookies save

6
推荐指数
2
解决办法
4761
查看次数

具有属性的类,可以是两种不同类型之一

我正在用C#开发一个Telegram机器人但是在实现Message类型方面有困难.根据API文档,chat字段可以是类型User或类型GroupChat.我如何在C#中实现它?

到目前为止,我只能使用以下代码提出以下代码Newtonsoft.Json:

public class Update {
....
  [JsonProperty("chat")]
  public User chat { get; set; }

  [JsonProperty("chat")]
  public GroupChat group_chat { get; set; }
....
}
Run Code Online (Sandbox Code Playgroud)

但它不能用我的WebAPI 2控制器方法,因为我Message使用FromBody属性反序列化:

public async Task<HttpResponseMessage> Post(string token, [FromBody] Update update)
Run Code Online (Sandbox Code Playgroud)

(类型Update具有字段message类型的Message)

有没有更好的方法来实现Message类型?

c# class telegram-bot

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

Automapper Aftermap“找不到方法”异常

我正在尝试使用该AfterMap方法将输入类展平为输出。输入类如下所示:

public class FooDTO {
  public string SomeFieldA { get; set; }
  public string SomeFieldB { get; set; }
  ....
  public BarDTO SomeFieldY { get; set; }
  public BazDTO SomeFieldZ { get; set; }
}

public class BarDTO {
  public string SomeOtherFieldA { get; set; }
}

public class BazDTO {
  public string YetAnotherFieldA { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和输出类如下:

public class Foo {
  public string SomeFieldA { get; set; }
  public string SomeFieldB { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# automapper

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

C#:找不到方法异常(Setter缺失)

调试我的程序时,我遇到了非常奇怪的错误.我有一个数据合同,我添加了新属性,但其中一个导致以下异常:

Method not found: 'Void Measurement.set_ContactId(Int32)'.

数据合同如下:

[DataContract]
public class Measurement
{
    [DataMember]
    public int FactId { get; set; }

    [DataMember]
    public int ContactId { get; set; }
.....
Run Code Online (Sandbox Code Playgroud)

我真的不明白什么是问题,因为正如我所说,我添加了一些其他属性,但它们没有问题.

UPD:当我尝试将值分配给服务端时发生异常ContactId:

foreach (Measurement m in result.Where(m => m.FactId == factId)){
    m.ContactId = contactId;
  .....
Run Code Online (Sandbox Code Playgroud)

c# exception

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

Java同步以避免ConcurrentModificationExceptions?

我很难让我的程序正常工作.简而言之,我的程序包含几个初始线程:Main,MessageReceiver,Scheduler(使用Quartz包)和Scheduler线程调度的两种类型的线程:TraceReader和ScheduledEvent.现在,当触发TraceReader时,它会读取一个特殊的跟踪文件,并按开始时间,重复间隔(500毫秒到1秒)和结束时间来安排事件.目前,可以安排大约140个事件同时触发,这会导致大量的ConcurrentModificationException错误.现在一些代码:

public class Client { //main class
 public static volatile HashMap<Integer, Request> requests;
 public static class Request{
    String node;
    int file_id;
    long sbyte;
    int length;
    int pc_id;
    public Request(){

    }
 }

 public static synchronized void insertRequest(int req_nr, String node, int file_id, long sbyte, int length, int pc_id) {
    Request tempr = new Request();
    tempr.node = node;
    tempr.file_id = file_id;
    tempr.sbyte = sbyte;
    tempr.length = length;
    tempr.pc_id = pc_id;
    requests.put(req_nr, tempr);                       
 }

public static synchronized void doSynchronized(int req_nr, String node, int …
Run Code Online (Sandbox Code Playgroud)

java synchronization

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

java.lang.NoSuchMethodError:方法java.util.TreeMap.firstEntry with signature()Ljava.util.Map $ Entry; 没找到

我正在尝试使用TreeMap类的ceilingKey(),ceilingEntry(),firstKey()和firstEntry()但收到错误:
java.lang.NoSuchMethodError: method java.util.TreeMap.firstEntry with signature ()Ljava.util.Map$Entry; was not found.

此错误是由以下代码引起的:
if (tmpmap.size() == 1 && tmpmap.firstKey() == req_sbyte && tmpmap.firstEntry().getValue() == req_size) {
send("F" + req_nr + "," + Integer.toString(req_filenr) + "," + Long.toString(req_sbyte) + "," + Integer.toString(req_size), "localhost", CLIENTPORT);
}

这是java -version的输出:
java version "1.5.0" gij (GNU libgcj) version 4.1.2 20070925 (Red Hat 4.1.2-33) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for …

java nosuchmethoderror

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