goto在这段代码中使用是否正确?还有其他选择吗?
return ExecuteReader(cmd, reader =>
{
List<BEPartnership> partnerhip = null;
//Partnership
if (!((SqlDataReader) reader).HasRows)
goto exit;
partnerhip =
new List<BEPartnership>{new BEPartnership().GetFromReader(reader)};
//Customers
if (!reader.NextResult() && !((SqlDataReader) reader).HasRows)
goto exit;
foreach (BEPartnership p in partnerhip)
p.Partner = new BECustomer().GetFromReader(reader);
//Contracts
if (!reader.NextResult() && !((SqlDataReader) reader).HasRows)
goto exit;
List<BEContractB2B> contracts = new List<BEContractB2B>();
contracts.Add(new BEContractB2B().GetFromReader(reader));
// contracts = new BEContractB2B().GetFromReader2(reader).ToList();
exit:
return partnerhip;
});
Run Code Online (Sandbox Code Playgroud) 我想知道这个简单问题的答案.
当我创建一个实体对象并且我想限制一个属性的设置时(例如我不想让任何人设置一个小于1的整数值到属性),我应该在这个属性的setter中实现它或者我应该在处理这些对象的类中检查后者的这个限制?一般来说,只要我的getter返回并且setter设置属性,我可以实现getter和setter吗?
我知道java中有一些规则(代码约定),所以我不想破坏它们中的任何一个.
在此先感谢,希望我的问题足够明确,并对我可能犯的任何语法错误表示抱歉:/.
我正在开发一个使用Java序列化的插件API.这个想法类似于SmallTalk的系统图像.我想知道如何最好地自动化测试,我所做的更改是否会破坏反序列化,因为某些更改似乎是无害的,例如向实现的接口添加方法(只要没有调用,否则它将导致a AbstractMethodException).
是的,这更像是实验性的峰值而不是生产代码,所以请不要建议不要使用序列化.
让我们说一句话:"Aiavärav".表达式\w+应该捕获这个词,但是字母"ä"将这个词减半.而不是"Aiavärav",我得到了"Aia".包含那些非ascii字母的单词的正确正则表达式是什么?
有没有像在PHP中那样在Java中使用魔术方法的方法__call?
例如:
class foo {
@Setter @Getter
int id;
@Getter
Map <String, ClassInFoo> myMap;
protected class ClassInFoo {
@Setter @Getter
String name;
}
@Setter
String defaultKey;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Project Lombok注释来获取getter和setter方法来简化代码.
让我们考虑我的地图包含由String映射的几个项目,defaultKey定义默认项目.
我想要的是能够调用foo.getName()哪个会返回默认名称foo.myMap.get(defaultKey).getName().
我不能手动编写所有getter的原因是Foo类实际上是继承了泛型,而内部类可能是不同的.
我有点需要:
function Object __call(method) {
if (exist_method(this.method)
return this.method();
else
return this.myMap.get(defaultKey).method();
}
Run Code Online (Sandbox Code Playgroud)
这在Java中是否可行?
编辑:
我做了一个更精确的例子,说明我想在这里实现的目标:https://gist.github.com/1864457
这样做的唯一原因是"简写"内部类中的方法.
我正在使用它dependency:analyze来检测依赖性问题.但我发现传递依赖项存在问题,因为插件无法解析此依赖项.
当我执行mvn dependency:tree时,输出显示传递依赖项.
依赖
project A
dependency B
project C
dependency A
Run Code Online (Sandbox Code Playgroud)
Outuput - >(项目C - 路径)/ mvn clean install
[WARNING] Used undeclared dependencies found:
dependency B: compile
Run Code Online (Sandbox Code Playgroud)
插入
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>analyze</id>
<phase>verify</phase>
<goals>
<goal>analyze-only</goal>
</goals>
<configuration>
<failOnWarning>true</failOnWarning>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
为什么插件不会检测传递依赖性
我有一个项目正在使用WebView,在小牛队,Safari 7有非常流畅和快速的滚动,我想为我创建复制webView.
以下键允许动量:
NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"YES" forKey:@"AppleMomentumScrollSupported"];
Run Code Online (Sandbox Code Playgroud)
不过,我想的势头进行较长或滚动才能真正快,反正是有,我可以覆盖速度上NSScrollView内WebView?如果可能的话,以最简单的方式?
在iOS中,您可以使用以下控制级别:
webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal;
Run Code Online (Sandbox Code Playgroud)
但我找不到任何类似的OSX方法.
当需要显示算法的效率时,我们需要显示函数的算法复杂性 - 大O等.在Python代码中,我们如何显示或计算函数的边界?
我正在我的项目中将Spring安全性从3.1升级到3.2.由于3.2支持基于代码的配置,因此我决定将旧的基于XML的配置转换为Java代码.
我收到异常说"authenticationManager"每次尝试启动应用程序时都没有找到带名字的bean .@EnableGlobalMethodSecurity注释添加到配置类后,此异常开始出现.
Spring框架版本:4.0.0.RELEASE
Spring安全版:3.2.0.RELEASE
旧的Xml配置看起来像这样:
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<global-method-security secured-annotations="enabled"
jsr250-annotations="enabled"
pre-post-annotations="enabled"
proxy-target-class="true"/>
<http auto-config="true" use-expressions="true" >
<form-login login-page="/login"
default-target-url="/home"
authentication-failure-url = "/login?login_error=1" />
<logout logout-url="/logout" logout-success-url="/index" />
</http>
<authentication-manager>
<authentication-provider user-service-ref="authUserDetailService">
<password-encoder hash="plaintext"/>
</authentication-provider>
</authentication-manager>
</beans:beans>
Run Code Online (Sandbox Code Playgroud)
新的Java配置类看起来像这样:
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER").and()
.withUser("admin").password("password").roles("USER", "ADMIN");
}
@Bean
public UserDetailsService userDetailsServiceBean() …Run Code Online (Sandbox Code Playgroud) 有没有使用Prolog的商业视频游戏?基于规则的逻辑模型似乎在行业中占有一席之地.
PS:奇怪的是,这个问题仍然符合SO问题的所有标准.