小编Rya*_*ins的帖子

有没有计划让Java添加泛型集合协方差?

我试图编写一些看起来像这样的代码:

public List<IObject> getObject(){
  ArrayList<ConcreteObject> objects = new ArrayList<ConcreteObject>();
  return objects;
}
Run Code Online (Sandbox Code Playgroud)

(ConcreteObject实现IObject的位置)

这根本不起作用.它给出了编译器错误.Java是否有计划在未来支持这一点?到那时为止,最好的解决方法是什么?我最终做的是:

public List<IObject> getObject(){
  List<IObject> objects = new ArrayList<IObject>();
  return objects;
}
Run Code Online (Sandbox Code Playgroud)

这可行,也许这样做没有任何不良副作用.这是普遍接受的最佳方法吗?

java collections covariance

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

如何在Jtable中的行中添加边框?

我有一个Jtable,我想通过在行中添加边框来突出显示一行.我扩展了一个DefaultTableCellRenderer,我认为需要在getTableCellRendererComponent方法中完成工作.

我猜测,因为似乎没有一行的概念,我需要为行中的单个单元格创建自定义边框.类似于第一个单元格的左侧,顶部和底部,所有内部单元格的顶部和底部,以及行中最后一个单元格的顶部,底部和右侧.我在查找如何实际执行思考过程时遇到了问题.我不确定如何使用该setBorder()方法,或者甚至是我需要采取的方向.

java user-interface swing jtable

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

正则表达式:匹配不包含特定文本的HTML元素

我需要从html中删除任何非YouTube托管的电影.最初的要求是删除任何电影,为此

<object.*object>
Run Code Online (Sandbox Code Playgroud)

工作得很好.现在我基本上需要做同样的事情,但前提是对象标签中的东西不是托管在youtube上的.我需要一个正则表达式模式,该模式将匹配以"youtube"开头但不包含单词"youtube"的字符串.如果我需要这个来处理所有可能的场景,我可能需要考虑更多的事情,但上面的内容应该可以解决手头的工作.

我一直在玩负面的前瞻,但还没有能够让它发挥作用.以下是我尝试过的一些事情:

<object.*(?!youtube).*object> - 匹配所有对象标签,因为*是贪婪的

<object.+?(?!youtube).+?object>

<object(?!youtube)*object>
Run Code Online (Sandbox Code Playgroud)

加上很多其他的东西,只是进一步加强了我在黑暗中疯狂地刺伤这一个.

这是在Java 1.6中

java regex

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

在Java中请求URL时忽略证书错误

我正在尝试打印一个URL(根本没有涉及浏览器),但URL目前正在抛出以下内容:

javax.net.ssl.SSLHandshakeException: 
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target
Run Code Online (Sandbox Code Playgroud)

我正在使用JEditorPane的setPage方法调用URL,该方法仅将URL作为参数.假设我无法更改任何服务器端,我仍然需要访问此资源,我将如何忽略证书错误(或其他让我达到目标的东西)?

通过浏览器访问此URL告诉我该网站不受信任,并询问我是否要继续.

java ssl-certificate

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

SOQL - 查询当前用户关注的用户列表

在我的应用程序中,我显示当前用户的列表.我这样要求:

尝试1

List<User> Following = [SELECT Id, Name, SmallPhotoUrl 
  FROM User 
  WHERE Id IN (
      SELECT ParentId 
      FROM EntitySubscription 
      WHERE SubscriberId = :UserInfo.getUserId()) 
    AND Id != :UserInfo.getUserId() 
  LIMIT 96];
Run Code Online (Sandbox Code Playgroud)

这完全符合以管理员身份登录的情况,但我发现非管理员收到错误:

实施限制:EntitySubscription仅允许在指定LIMIT时对非管理员用户进行安全评估,最多为1000

好吧,没什么大不了的,我会像这样打一个极限:

尝试2

List<User> Following = [SELECT Id, Name, SmallPhotoUrl 
  FROM User 
  WHERE Id IN (
      SELECT ParentId 
      FROM EntitySubscription 
      WHERE SubscriberId = :UserInfo.getUserId() 
      LIMIT 1000) 
    AND Id != :UserInfo.getUserId() 
  LIMIT 96];
Run Code Online (Sandbox Code Playgroud)

容易,对吗?错误.这给出了以下内容:

期待一个正确的括号,发现'LIMIT'

好...

然后我试着把它分解出来:

尝试3

List<EntitySubscription> sub = [SELECT ParentId 
  FROM EntitySubscription 
  WHERE SubscriberId = :UserInfo.getUserId() 
  LIMIT 1000]; …
Run Code Online (Sandbox Code Playgroud)

salesforce soql apex-code salesforce-chatter

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

在绝对定位的元素上使用Z-Index的麻烦

我试图让一个绝对定位的元素出现在另一个元素后面.我已经设置了z-indices,但似乎没有任何影响.我试图在背景中放置的元素是最重要的.

有问题的两个元素都位于容器中,其位置设置为相对.我的理解是,这将创建一组新的堆叠元素,虽然我不确定这是否真的很重要.

HTML:

    <div id="wrapper">
      <div id="content">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer augue</p>
        <p>massa, scelerisque non viverra sagittis, egestas nec erat. Aliquam vel</p>
      </div>
      <div id="bg">&nbsp</div>
    </div>
Run Code Online (Sandbox Code Playgroud)

CSS:

      #wrapper {
        background: #fdd;
        position: relative;
        width: 300px;
      }

      #content{
        width: 300px;
        z-index: 100;
      }

      #bg{
        background: #ddf;
        position: absolute;
        bottom: 0;        
        left: 0;
        top: 0;
        width: 40%;
        z-index:1;
      }
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到结果:http://jsfiddle.net/GsG28/

这在Chrome和IE中都有发生,尽管我还没有测试过其他浏览器.我得到的是这样的:

在此输入图像描述

我想要的是文本在蓝色背景之上.

css z-index css-position

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

在IIS Express本地使用SSL时,如何配置Web代理?

我最近遵循了Scott Hansleman关于使用IIS Express为我的Azure Web App 本地设置SSL的说明.这似乎工作正常(能够访问需要SSL的页面),直到我到一个查询表存储的页面.它抛出以下内容:

创建"system.net/defaultProxy"配置部分中指定的Web代理时出错.

所以我把它添加到我的web.config:

    <defaultProxy>
        <proxy usesystemdefault="False"/>
    </defaultProxy>
Run Code Online (Sandbox Code Playgroud)

现在它在同一行上抛出一个不同的错误:

'System.Net.ServicePointManager'的类型初始值设定项引发了异常.

深入研究它引用我web.config的第29行并说:

找不到必需的属性"类型".

但是,第29行似乎对我没有任何意义.以下是相关部分:

25 <system.diagnostics>
26        <trace>
27            <listeners>
28              <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
29                   <filter />
30                </add>
31            </listeners>
32        </trace>
33    </system.diagnostics>
Run Code Online (Sandbox Code Playgroud)

我想也许问题出在IIS applicationhost.config中,如果我在VS中打开会给我一些错误元素的错误,但我认为它没有使用正确的模式,因为我找不到任何说明这些元素的文档(主要是configSection元素)甚至有这些属性.

这有点超出我的元素,我没有太多的运气搜索.

asp.net-mvc ssl proxy web-config

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