Java Swing JTable有一个getSelectedRow()方法,但没有setSelectedRow()方法.
我需要在JTable中突出显示/选择一行.我该怎么办?
让我们假设有人同步一个返回int的方法:
int whatever = 33;
...
public synchronized int getWathever() {
return this.whatever;
}
Run Code Online (Sandbox Code Playgroud)
我们从Java规范中了解到,int是原子地修改的.因此,synchronized声明不是必要的.
编译器会删除/优化它吗?
作为调试应用程序的一部分,我注意到Field.getDeclaredFields()返回一些合成字段,包括serialVersionUID扩展接口的类中的字段,尽管没有扩展Serializable.
为什么编译器会添加这样的字段?
UPDATE
事实上,还有一个$VRc合成领域.
我想在大型Java 7独立应用程序中使用依赖注入,但我不确定从哪里开始.
我写了一个小测试应用程序:
public class Main {
@Inject
MyInterface myInterface;
public static void main( String[] args ) {
Main m = new Main();
System.out.println(m.myInterface.getMessage());
}
}
Run Code Online (Sandbox Code Playgroud)
有一个界面:
public interface MyInterface {
String getMessage();
}
Run Code Online (Sandbox Code Playgroud)
和接口实现:
@Singleton
public class MyInterfaceImpl implements MyInterface {
public String getMessage() {
return "Hello World!";
}
}
Run Code Online (Sandbox Code Playgroud)
将pom.xml包含一个依赖:
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
这个应用程序编译,但当然,它NPE在尝试打印消息时崩溃.注射没有发生.
所以,我的问题是:
我在SO上检查了类似的问题,但他们没有解决我的问题.
我正在Openshift上部署Symfony2应用程序.它在我的Windows 10笔记本电脑上运行良好,但我在Openshift上收到以下错误消息:
Fatal error: Uncaught exception 'Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException'
with message 'You have requested a non-existent parameter "database_path".
Did you mean one of these: "database_host", "database_port", "database_name", "database_user"?'
in /var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php:106 Stack trace: #0
/var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php(248):
Symfony\Component\DependencyInjection\ParameterBag\ParameterBag->get('database_path') #1 [internal function]:
Symfony\Component\DependencyInjection\ParameterBag\ParameterBag->Symfony\Component\DependencyInjection\ParameterBag\{closure}(Array) #2
/var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php in
/var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php on line 106
Run Code Online (Sandbox Code Playgroud)
我config.yml是:
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
...
doctrine:
dbal:
driver: pdo_sqlite
charset: UTF8
path: "%kernel.root_dir%/../%database_path%"
...
Run Code Online (Sandbox Code Playgroud)
我parameters.yml是:
parameters: …Run Code Online (Sandbox Code Playgroud) 如果我遍历WeakHashMap的密钥集,我是否需要检查空值?
WeakHashMap<MyObject, WeakReference<MyObject>> hm
= new WeakHashMap<MyObject, WeakReference<MyObject>>();
for ( MyObject item : hm.keySet() ) {
if ( item != null ) { // <- Is this test necessary?
// Do something...
}
}
Run Code Online (Sandbox Code Playgroud)
换句话说,当我迭代它们时,是否可以收集WeakHashMap的元素?
编辑
为了这个问题,可以假设null在哈希映射中没有添加任何条目.
让我们想象以下方面:
aspect FaultHandler {
pointcut services(Server s): target(s) && call(public * *(..));
before(Server s): services(s) {
// How to retrieve the calling object instance?
if (s.disabled) ...;
}
}
Run Code Online (Sandbox Code Playgroud)
切入点捕获对公共方法的所有调用,Server并在调用before任何这些方法之前运行建议.
是否可以检索在通知中执行对公共Server方法的调用的对象实例before?如果有,怎么样?
假设一个HTML文档中的内联Javascript代码(例如正文),这个Javascript代码总是在JQuery文档就绪代码之前执行吗?
例如,以下安全吗?
...
<body>
<script type="text/javascript">
var myVar = 2;
</script>
...
</body>
...
$(document).ready(function() {
alert('My Var = ' + myVar);
}
Run Code Online (Sandbox Code Playgroud)
如果没有,我怎样才能确保安全知道myVar在内联/块代码中定义?
我正在学习拖拽.我在JSFiddle中复制了一个W3Schools示例.
W3School示例调用preventDefault()drop事件:
function drop(ev) {
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
Run Code Online (Sandbox Code Playgroud)
但是,我不理解阅读文档时的需要.当我删除此调用时,该示例仍然正常工作:
function drop(ev) {
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
Run Code Online (Sandbox Code Playgroud)
那么,这次通话的用途是preventDefault()什么?我真的需要它吗?如果是,为什么?
我是新来的angular.js.我正在尝试创建一个指令,在<head>html文档部分添加一些标题和元标记,但我遇到了一些麻烦.
我的index.html文件如下:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="UTF-8">
<base href="/">
<seo-title></seo-title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.1/angular.min.js"></script>
<script src="https://code.angularjs.org/1.4.1/angular-route.min.js"></script>
<script src="/incl/js/myApp.js"></script>
</head>
<body >
<div ng-view></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的javascript是:
var app = angular.module ('myApp', ['ngRoute']);
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('/', { templateUrl: 'routes/home.html'})
.when('/pageA', { templateUrl: 'routes/pageA.html'})
.when('/pageB', { templateUrl: 'routes/pageB.html'})
.otherwise({ redirectTo: '/' });
$locationProvider.html5Mode({
enabled: true
});
}]);
app.directive('seoTitle', function() {
return {
restrict: 'E',
template: '<title>{{seo.title}}</title>'
};
});
Run Code Online (Sandbox Code Playgroud)
当我打开检查器时,指令已被移动到<body>并且未被模板替换:

如何在标题中创建指令? …