问题列表 - 第6105页

Scala中变量声明中的通用通配符

在Java中我可能会这样做:

class MyClass {
    private List<? extends MyInterface> list;

    public void setList(List<MyImpl> l) { list = l; }
}
Run Code Online (Sandbox Code Playgroud)

......假设(MyImpl implements MyInterface当然).

使用?时,Scala中的模拟是Buffer什么?

import java.lang.reflect._
import scala.collection.mutable._

class ScalaClass {
   val list:Buffer[MyInterface]  = null

   def setList(l: Buffer[MyImpl]) = {
     list = l
   }
}
Run Code Online (Sandbox Code Playgroud)

这(当然)不编译 - 但是如何list以这样的方式声明变量呢?

编辑 ; 我要补充一点.显然,这与Java中的泛型在T从不协变这一事实有关,而在Scala中,它们可以是协变的,也可以不是协变的.例如,Scala类List在T中是协变的(并且必然是不可变的).因此以下将编译:

class ScalaClass {
   val list:List[MyInterface]  = null

   def setList(l: List[MyImpl]) = {
     list = …
Run Code Online (Sandbox Code Playgroud)

java generics scala covariance contravariance

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

硒能处理自动完成吗?

我有一个测试用例,需要在基于ajax的文本字段中键入部分值,并验证列表是否具有预期内容.如果是,请选择内容.知道如何使这项工作?

java firefox junit selenium

17
推荐指数
3
解决办法
3万
查看次数

如何在html中嵌入图像并通过msdb.dbo.sp_send_dbmail将html作为电子邮件发送?

我可以使用msdb.dbo.sp_send_dbmail以html格式发送电子邮件.仅在格式方面对文本非常好.例如:

EXEC msdb.dbo.sp_send_dbmail
  @recipients = @p_recipients,
  @subject = @v_subject,
  @body=@emailHTML, 
  @body_format = 'HTML';
Run Code Online (Sandbox Code Playgroud)

但是,如果我想在我的SQL服务器中包含从数据生成的趋势图像,并将它们嵌入到html(@emailHTML)中,我应该使用什么html标签?

如果我使用[img]标签,那么我需要设置src属性.生成的图像保存在我的本地SQL服务器的硬盘中.我可以把它们放在IS服务器网页区域.但是所有这些Web服务器都可以访问Intranet,但不能在我的工作之外.

有没有办法在电子邮件中嵌入图片?如何设置html嵌入图像?

我使用的是Microsoft SQL Server 2005.我更喜欢使用msdb.dbo.sp_send_dbmail将报告作为电子邮件发送出去.我对html格式有很多控制权.如果没有办法,我可能必须将图像作为附件发送.

html sql t-sql sql-server

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

SqlDataReader性能下降

我在MSSMS中查询执行~2秒(返回25K行)

.NET(sqlReader)中使用的相同查询只需几分钟!

我也尝试过只执行读者

(评论while循环中的所有代码只是离开reader.Read()) - 仍然相同!

知道怎么了?


我不是DBA,也没有特权与Profiler一起玩 - 会问我的DBA,让大家都知道.

与此同时,我注意到在我正在谈论的SP中添加" WITH RECOMPILE "参数后,必不可少的性能提升

所以,从我的角度来看,执行计划似乎就是这样......你怎么看?

[编辑] 我所检查的是从QA和.NET执行以下查询

select @@options
Run Code Online (Sandbox Code Playgroud)

我的理解是它将为两个环境返回相同的值.(如果没有使用不同的ex.plans)我是对的吗?

[EDIT2] 我已经阅读(来自http://www.sqldev.net/misc/fn_setopts.htm)在QA 中ARITHABOIRT = ON(在.NET中它关闭)

enybody是否知道如何为每个.NET连接强制ARITHABOIRT = ON?

.net sql-server sql-server-2005 sqldatareader

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

HTML实体代码到文本

有没有人知道在Python中使用HTML实体代码(例如&lt; &amp;)将字符串转换为普通字符串(例如<&)的简单方法?

cgi.escape()将逃脱字符串(很差),但没有unescape().

html python beautifulsoup

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

为什么内部类可以访问私有方法?

我不明白为什么这会编译.f()和g()在内部类中是可见的,尽管是私有的.他们是特殊的,因为他们是内部阶级?

如果A和B不是静态类,它仍然是相同的.

class NotPrivate {
    private static class A {
        private void f() {
            new B().g();
        }
    }

    private static class B {
        private void g() {
            new A().f();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java inner-classes

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

将字符串复制到缓冲区中

当使用sprintf将指针复制到字符串时,我有一些代码堆栈转储.我试图将动物的内容复制到一个名为output的新指针数组中.但是,我得到一个堆栈转储.

输出应该是以下内容:新动物兔新动物马新动物驴

我正确地走这条路吗?

非常感谢

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void p_init(const char **animals, char **output);

int main(int argc, char **argv)
{
    char *animals[] = {"rabbit", "horse", "donkey", '\0'};  
    char **prt_animals = animals;
    char *output[sizeof(*animals)];

        /* print the contents here */
    while(*prt_animals)
    {
        printf("Animal: %s\n", *prt_animals++);
    }

        /* copy and update in the output buffer */
    p_init(*&animals, *&output);

    getchar();

    return 0;


void p_init(const char **animals, char **output)
{
    while(*animals)
    {
        sprintf(*output, "new animal %s", *animals); 
        *output++;
    }
}
Run Code Online (Sandbox Code Playgroud)

c arrays pointers copy

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

在Win32/MFC中停止一个线程

我正在阅读一些与线程相关的代码,并发现了这段代码:

MyThread::start()
{
  //Create a thread
  m_pThread = AfxBeginThread(/*some parameters*/)

  //Create a duplicate handle for the created thread
  m_hDuplicateHandle = DuplicateHandle(/* some more parameters*/)
}

MyThread::stop()
{
  //Set some variables so that the thread comes out of its run() function
  WaitForSingleObject(m_hDuplicateHandle, defaultTimeout);

  CloseHandle(m_hDuplicateHandle);
}
Run Code Online (Sandbox Code Playgroud)

我的问题,为什么需要重复的句柄?我们不能直接等待原来的线程句柄吗?它以某种方式变得无效吗?

c++ winapi mfc multithreading

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

如何捕获临界区中抛出的异常?

我正在使用c ++进行win 32多线程处理.场景:我有一个多线程使用的函数.此函数作为关键部分(或任何可以锁定资源的构造).在临界区中抛出异常.此时我需要注意在异常catch块中解锁资源.

有没有其他办法可以做到这一点?我的意思是,让我们说我不想记得在catch块中释放锁,是否有任何常见的方法来处理这个问题以避免这种容易出错的情况?

c++ winapi multithreading exception

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

克隆是否比构造函数/工厂方法提供了性能改进?

我正在维护一个较旧的Java代码库(jvm 1.4),它似乎使用克隆作为对象实例化的替代方案,我猜测它是一种性能优化.这是一个人为的例子:

public class Foo {
  private SomeObject obj; // SomeObject implements Cloneable
  public Foo() {
    obj = new SomeObject();
    obj.setField1("abc"); // these fields will have the same value every time
    obj.setField2("def");
  }
  public void doStuff() {
    SomeObject newObj = obj.clone(); // clone it instead of using a factory method
    // do stuff with newObj
  }
}
Run Code Online (Sandbox Code Playgroud)

关于过早优化的常见警告尽管如此,这实际上是一个推荐的成语吗?

java optimization clone cloneable

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