小编egg*_*yal的帖子

限制可能实现接口的类

一般来说,是否可以限制可能实现接口的类?

更具体地说,通用接口可以Foo<T>将其实现限制为以下的后代T:

interface Foo<T> {}
class Baz extends Bar implements Foo<Bar> {} // desirable
class Baz extends Bar implements Foo<Qux> {} // undesirable
Run Code Online (Sandbox Code Playgroud)

上下文是Foo<Bar>对象应该以Bar类型安全的方式转换为对象.

在用尽所有其他信息来源后,我已经有了强烈的预感,这是不可能的 - 但如果有人能证明不是这样的话,我会很高兴!

java generics

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

比较SQL组与彼此

如何仅针对符合某些标准的组与其他组进行比较,对分组结果集进行过滤?例如,只有那些拥有最大组成记录数的组?

我曾经认为如下的子查询应该可以解决问题:

SELECT * FROM (
    SELECT   *, COUNT(*) AS Records
    FROM     T
    GROUP BY X
) t HAVING Records = MAX(Records);
Run Code Online (Sandbox Code Playgroud)

然而,最后一个HAVING条款的添加导致一个空的记录集......发生了什么?

sql group-by

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

不能将assign-op运算符用于重载对象或字符串偏移

我有这部分代码,它给了我标题中的错误.

$k每张桌子的计数从1到5.

$myarray 由至少3到4个名字组成.

错误发生在$qu .=......

我试过到目前为止:改变VARIABLENAME $i$v{$i}$qu .=线路.

那么有没有可能迭代查询?因此它ANDWHERE子句中的数量与数组的数量一样多吗?

while ($k<=5) {
  $queryname = "SELECT Name FROM description";
  $qname = mysql_query($queryname,$link);

  while ($reihe = mysql_fetch_object($qname)) {
    {
      $unse = unserialize($reihe->Name);
      {
        foreach ($unse as $j=>$h)
          foreach ($h as $m) {
            $myarray = preg_split('/ |\s| /',$m);
            {
              echo "<br>";
              $array_empty = $myarray;
              $empty_elements = array("");
              $myarray = array_diff($array_empty,$empty_elements);
              var_dump($myarray);
              for ($i=1; $i<=count($myarray); $i++) {
                $v{$i} = $myarray[$i];
                echo …
Run Code Online (Sandbox Code Playgroud)

php mysql overloaded-strings

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

如何将没有主键的表复制到另一个表

我想将一个表复制到另一个表.

例如,我有桌子Data(ID, time, serial_number...),我有Temp_data(ID, time, serial_number...)

如何复制没有主键(ID)的所有项目.

我正在使用MYSQL,我试过了 INSERT INTO Data SELECT * FROM Temp_data;

问题在于主键.这两个表都有值,我需要复制除ID以外的所有内容.

mysql sql

5
推荐指数
2
解决办法
7187
查看次数

在同一查询中选择并更新

您可以在同一查询中选择和更新吗?我正在尝试计算侧边栏视图的观看次数,以创建热门博客文章。

$sql = mysql_query("SELECT * FROM articles WHERE id='$id' LIMIT 1
                    UPDATE pages SET views=views+1 WHERE ID=$id");
Run Code Online (Sandbox Code Playgroud)

php mysql

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

即使元素从mousedown和mouseup之间的光标下移动,如何处理"click"事件?

我有一个<input>和一个<button>.

输入有一个onblur事件处理程序(有时)导致<button>被移动; 如果,重点关注<input>,用户单击<button>(并且因此在点击完成之前从指针下方移动),他们当前必须将指针移动到按钮的新位置并再次单击它.这种经历不是最理想的.

我希望用户只需要点击<button>一次(但必须保留按钮<input>失去时按下的功能).但是,如果用户在鼠标按钮之前隐藏了按钮然后移开鼠标指针(包括从应用程序切换焦点),则不应触发任何点击事件(正常情况下).

我看不到任何基于处理的方法onmousedown和/或onmouseup在某些边缘情况下不容易出错的方法.我能想到的就是强行将光标移动到onblur处理程序中,以便点击完成(如果确实会这样?) - 但这也可能是一个糟糕的用户体验.

怎么能最好地处理?

$('button').click(
  $('<li><input></li>')
    .children('input')
      .blur(function(){
        if (!this.value.length)
          this.parentElement.remove();
      })
      .end(),

  function(e){
    e.data.clone(true)
      .appendTo($(this).data('target'))
      .children('input')
        .focus();
  }
);
Run Code Online (Sandbox Code Playgroud)
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
List 1<button data-target="#list1">+</button><ul id="list1"></ul>
List 2<button data-target="#list2">+</button><ul id="list2"></ul>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery javascript-events

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

可以在 Symfony2 中使用不同的数据库凭据进行 Doctrine 迁移吗?

如何配置 SymfonyDoctrineMigrationsBundle以对其使用不同的数据库身份验证凭据DoctrineBundle——或者至少,DoctrineBundle与应用程序中其他地方使用的连接不同?

我们希望应用程序以有限的权限连接到数据库,例如无法发出 DDL 命令,如 CREATEALTERDROP。但是,迁移将需要执行此类 DDL 命令,因此应以具有提升权限的用户身份进行连接。这可能吗?

permissions doctrine symfony doctrine-migrations

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

在Excel工作表上直接使用ActiveX控件有哪些必要和充分的要求?

Microsoft Office支持文章" 添加或注册ActiveX控件 "说:

重要提示:并非所有ActiveX控件都可以直接在工作表中使用; 一些只能在Microsoft Visual Basic for Applications(VBA)UserForms上使用.使用这些控件时,如果您尝试将对象添加到工作表,Excel将显示消息"无法插入对象".

但是,我无法在任何地方找到有必要足以使控件直接在工作表上使用的要求.

我创建了一个新的C++/ATL项目,我已经添加了一个ATL控件,接受了整个默认值.在编译,构建和注册控件之后,它出现在Excel的"更多控件"列表中(在"开发">"插入">"ActiveX控件">"更多控件"下访问...)但在尝试插入工作表时,会看到"无法插入对象" "错误.

我必须做些什么改变才能解决这个问题?

要么

Excel对ActiveX控件的要求记录在哪里?


为了它的价值,我已经验证了向导生成的控件确实可以正常工作(使用我从Visual C++ 2008示例包构建的ActiveX控件测试容器测试).

此外,我知道ATL控件向导的"外观"选项卡文档描述了"可插入"复选框,如下所示:

选择此选项可使控件显示在Word和Excel等应用程序的"插入对象"对话框中.然后,任何支持嵌入对象的应用程序都可以通过此对话框插入您的控件.

但是,此复选框(只是将"可插入"子项添加到注册表中)只会使控件出现在"插入">"文本">"对象"对话框中 - 为避免疑问,我已尝试使用和不使用此选项并且无论如何都会产生同样的错误.

我正在尝试在尝试插入工作(Forms 2.0)控件时插入我的控件时,比较Excel的执行路径的痕迹.在加载类型库(OLE/COM对象查看器能够从我的DLL中正确加载)时,关键区别似乎在VBE7.dll中- 但在Excel执行了所有相同的读取之后,它在写出EXD之前中止)...我正在挖掘一些装配现在徒劳地希望我能弄明白 - 但是肯定有人为Excel建立了一个工作控制并知道我缺少什么可以免除我这种痛苦?!


Microsoft Windows 10 Pro v1511(10.0.10586.164)64位
Microsoft Excel 2016 MSO(16.0.4312.1000)64位
Microsoft Visual Studio社区2015(14.0.24720.00 Update 1)

c++ com excel activex atl

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

如何连接数组流?

我想通过一个可变累加器连接一个数组流.

目前我正在做以下事情Stream<Foo[]>:

Foo[] concatenation = streamOfFooArrays.collect(Collector.of(
    ArrayList<Foo>::new,
    (acc , els ) -> {acc.addAll(Arrays.asList(els));},
    (acc1, acc2) -> {acc1.addAll(acc2); return acc1;},
    acc -> acc.toArray(new Foo[x.size()])
));
Run Code Online (Sandbox Code Playgroud)

然而,对于一些非常有用的东西,令人失望的是标准库并没有提供更直接的东西.

我忽略了什么,还是有更好的方法?

java arrays collections fold java-stream

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

如何“隐式导出整个模块”?

下面是一段从MDN对JavaScript的引用import语句(加入强调):

从模块导入单个导出

给定一个myExport已从模块my-module隐式导出(因为整个模块被导出)或显式导出(使用export语句)的对象或值,这将插入myExport到当前作用域中。

import {myExport} from '/modules/my-module.js';
Run Code Online (Sandbox Code Playgroud)

我知道从模块中显式导出对象或值(使用export语句)意味着什么,但是如何隐式导出(隐式使用export语句)?导出“整个模块”是什么意思?

javascript ecmascript-6 es6-modules

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