在Java中,哪个更有效,有什么区别?
if (null == variable)
Run Code Online (Sandbox Code Playgroud)
要么
if (variable == null)
Run Code Online (Sandbox Code Playgroud) 我一直在修改MVVM模式,现在我正在尝试基于它实现一个小应用程序.
这个应用程序有一个数据网格,令人惊讶的是,它提供了一些数据.现在我正在尝试添加一些分组功能.我知道如何在代码(C#和XAML)中编写它,但我想知道应该在哪个层中放置负责任的代码.
我的一部分告诉我它应该在视图中,因为它是特定于该特定视图的代码.它不是通用的,只服务于一个目的:对数据进行分组.
另一方面,我认为我应该使用命令在ViewModel中处理它.但是,感觉好像我用View特定的逻辑污染了我的ViewModel.
任何可以脱落的韧带?
如何检查Java代码中的用户权限或权限?例如 - 我想根据角色为用户显示或隐藏按钮.有注释,如:
@PreAuthorize("hasRole('ROLE_USER')")
Run Code Online (Sandbox Code Playgroud)
如何在Java代码中创建它?就像是 :
if(somethingHere.hasRole("ROLE_MANAGER")) {
layout.addComponent(new Button("Edit users"));
}
Run Code Online (Sandbox Code Playgroud) 我正在使用PHP来json编码一个大规模的多维事件数组,所以我得到这样的东西:
var ents = {"7":{"event_id":"7","nn":"The Whisky Drifters","nn_url":"the-whisky-drifters",
"venue":"The Grain Barge","date_num":"2010-06-11","date_txt":"Friday 11th June",
"gig_club":"1","sd":"A New Acoustic String Band...","ven_id":"44",
"art":0},"15":{"event_id":"15","nn":"Bass Kitchen","nn_url":"bass-kitchen",
"venue":"Timbuk2","date_num":"2010-06-11","date_txt":"Friday 11th June",
"gig_club":"2","sd":"Hexadecimal \/ DJ Derek \/ Id","ven_id":"21",
"art":1},
Run Code Online (Sandbox Code Playgroud)
第一个维度是id,请参阅
var ents = {"7":{
Run Code Online (Sandbox Code Playgroud)
因此,可以在不检查嵌套对象的情况下获取ID ...
检查我的JSON是否包含id的最快,最有效的方法是什么?
我创建了一个数组:
var msg = new Array();
Run Code Online (Sandbox Code Playgroud)
那么,我有一个为这个数组添加值的函数,这个函数是:
function add(time, user, text){
var message = [time, user, text];
if (msg.length >= 50)
msg.shift();
msg.push(message);
}
Run Code Online (Sandbox Code Playgroud)
如您所见,如果数组有50个或更多元素,我将删除第一个元素.shift().然后我添加一个数组作为元素.
好吧,代码工作得很好,但现在我必须循环msg数组来创建一个JSON obj.
JSON对象应具有以下格式:
var obj = [
{'time' : time, 'user' : user, 'text' : text},
{'time' : time, 'user' : user, 'text' : text},
{'time' : time, 'user' : user, 'text' : text}
]
Run Code Online (Sandbox Code Playgroud)
我的意思是...我必须循环msg数组,然后将所有值存储在JSON对象中.我不知道如何在json obj中"连接"数组元素.
你可以帮帮我吗?
非常感谢你提前!
我有Visual Studio 2010和Outlook Addin 2010项目(.NET 4目标)的问题.我已经在我的项目中添加了一个表单区域,然后我将Localizable属性更改为true.现在,如果我关闭我的表单区域并重新打开它,我将收到此VS错误页面:
To prevent possible data loss before loading the designer, the following errors
must be resolved:
The variable 'resources' is either undeclared or was never assigned.
Run Code Online (Sandbox Code Playgroud)
如果代码是针对.NET 4的,那么当我更改表单区域或功能区中的任何属性时,实际上会发生这种情况.在针对.NET 3.5的项目中,一切都是有序的.这个错误引用的示例代码是由VS创建的,它是其中的一部分FormRegion.Designer.cs.它打破了ApplyResources(如果我发表评论,那么一切都好).
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources =
new System.ComponentModel.ComponentResourceManager(typeof(FormRegion1));
this.SuspendLayout();
//
// FormRegion1
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Name = "FormRegion1";
this.FormRegionShowing +=
new System.EventHandler(this.FormRegion1_FormRegionShowing);
this.FormRegionClosed +=
new System.EventHandler(this.FormRegion1_FormRegionClosed);
this.ResumeLayout(false);
}
Run Code Online (Sandbox Code Playgroud)
如果我选择忽略错误并强制VS加载可视化编辑器,那么我会收到另一个错误:
Cannot open a designer for the file …Run Code Online (Sandbox Code Playgroud) 在我的代码中,我发现自己有很多不同的方法:
try
{
runABunchOfMethods();
}
catch (Exception ex)
{
logger.Log(ex);
}
Run Code Online (Sandbox Code Playgroud)
怎么样创造这个:
public static class Executor
{
private static ILogger logger;
public delegate void ExecuteThis();
static Executor()
{
// logger = ...GetLoggerFromIoC();
}
public static void Execute<T>(ExecuteThis executeThis)
where T : Exception
{
try
{
executeThis();
}
catch (T ex)
{
// Some kind of Exception Handling Strategy...
logger.Log(ex);
// throw;
}
}
}
Run Code Online (Sandbox Code Playgroud)
只是像这样使用它:
private void RunSomething()
{
Method1(someClassVar);
Method2(someOtherClassVar);
}
Run Code Online (Sandbox Code Playgroud)
...
Executor.Execute<ApplicationException>(RunSomething);
Run Code Online (Sandbox Code Playgroud)
这种方法有什么缺点吗?(您可以在需要finally时添加Executor方法和委托,并使用泛型来处理要捕获的Exeception类型...)
编辑:很抱歉不清楚 - 我真正想到的是关于尝试将代码的执行从有问题的类移动到更广泛的类来执行此操作的一般想法的一些输入.我只是快速模拟了一个解决方案,但在现实生活中,您自然会使用诸如异常处理策略,抽象执行基类以及针对特定层/系统部分的更专业执行类的事情.我通常使用try .../runABunchOfMethods-part创建一个方法(这会执行异常处理,具有特殊的异常),调用runABunchOfMethods,而runABunchOfMethods又执行一组有限的其他方法"clean …
我正在使用SOLR和NGramTokenizerFactory来帮助创建搜索令牌以获得单词的子串
NGramTokenizer配置的最小字长为3
这意味着我可以搜索例如"unb",然后匹配"难以置信"这个词.
但是我对"I"和"in"等短语有疑问.这些没有被SOLR索引(我怀疑是因为NGramTokenizer),因此我无法搜索它们.
我不想将最小字长减少到1或2,因为这会创建一个巨大的搜索索引.但是我希望SOLR能够包含长度已经低于这个最小值的整个单词.
我怎样才能做到这一点?
/卡斯滕
我一直在寻找一种简单的方法来获取Symfony在Symfony中运行的机器的ServerName(以便我的应用程序在具有不同ServerName的主机上使用时适应),但我找不到.我在app.yml中创建了一个变量并获取它,但我仍然想知道是否有更简单的方法来执行此操作.你好吗?我在不同的项目上使用Symfony 1.2和1.4.
如何完全禁用我的应用程序(本机c ++)的数字替换(例如,对于印地语数字而不是阿拉伯数字)?
我想用0123而不是0123显示所有数字
Windows中的本地化选项有一个选项,但我不想为用户更改它.仅适用于我的应用.
谢谢!
localization arabic internationalization winforms right-to-left
c# ×2
java ×2
javascript ×2
json ×2
.net ×1
aop ×1
arabic ×1
hostname ×1
if-statement ×1
jquery ×1
localization ×1
lucene ×1
mvvm ×1
null ×1
outlook-2010 ×1
solr ×1
symfony ×1
user-roles ×1
vsto ×1
winforms ×1
wpf ×1