你认为for in和for循环有很大的不同吗?您更喜欢使用什么样的"for"?为什么?
假设我们有一组关联数组:
var myArray = [{'key': 'value'}, {'key': 'value1'}];
Run Code Online (Sandbox Code Playgroud)
所以我们可以迭代:
for (var i = 0; i < myArray.length; i++)
Run Code Online (Sandbox Code Playgroud)
和:
for (var i in myArray)
Run Code Online (Sandbox Code Playgroud)
我没有看到很大的不同.有任何性能问题吗?
我假设大多数人都知道android.util.Log所有日志记录方法都接受'String tag'作为第一个参数.
我的问题是你通常如何在应用程序中标记日志? 我见过这样的硬编码:
public class MyActivity extends Activity {
private static final String TAG = "MyActivity";
//...
public void method () {
//...
Log.d(TAG, "Some logging");
}
}
Run Code Online (Sandbox Code Playgroud)
由于许多原因,这看起来不太好:
是否有任何巧妙的方法来获得课程的TAG?
此代码按预期工作(不执行任何操作,甚至不会产生警告/错误):
l = lambda {|i|}
l.call(1)
Run Code Online (Sandbox Code Playgroud)
此代码生成警告(警告:块参数的多个值(0表示1)):
l = lambda {|i|}
l.call
Run Code Online (Sandbox Code Playgroud)
并且此代码失败并出现错误(ArgumentError:错误的参数数量(0表示2)):
l = lambda {|i, y|}
l.call
Run Code Online (Sandbox Code Playgroud)
我认为lambda需要传递所有参数.
从第二个例子我发现它不是.为什么只给出一个参数,并且按预期工作(失败并带有错误)并且有多个参数?
PS:ruby 1.8.6(2008-08-11 patchlevel 287)[universal-darwin9.0]
更新:我用ruby 1.9.1p376检查了这些样本.它按预期工作 - 第二个例子也产生错误.看起来这是1.8版本(或<= 1.8)的功能
我正在使用MyBatis 3.0.3并且有问题:数据库中的某些列具有带下划线的名称,这些列应该映射到实体属性(当然是在camelCase中)
class User {
private String first_name;
...
}
public interface UserDao {
@Select("SELECT * FROM users")
List<User> findAllUsers();
}
Run Code Online (Sandbox Code Playgroud)
不幸的是我看不出任何解决方法(就像在JPA中完成的那样 - @Column(name ="first_name")).我可以在select-clause中为这些列创建别名(sush作为firstName作为firstName等),但这看起来也很蹩脚.
有任何想法吗?谢谢.
要使类可序列化,我们执行以下操作:
class A implements Serializable {
transient Object a;
}
Run Code Online (Sandbox Code Playgroud)
而不是这个:
serializable class A {
transient Object a;
}
Run Code Online (Sandbox Code Playgroud)
为什么,如果我们想使类可序列化,我们是否实现了一个特殊的接口.如果我们想要排除某些字段,我们会使用关键字 transient?为什么两种情况下都没有使用特殊关键字?我的意思是有什么理由以不同的方式做同样的事情吗?我知道,没有这样的关键字,serializable但为什么不引入它而不是特殊的界面Serializable?
看,我有以下代码:
我的行动:
final Intent intent = new Intent(getApplicationContext(), MyService.class)
.putExtra(UploadService.EXTRA_RESULT_RECEIVER, new ResultReceiver(null) {
@Override
protected void onReceiveResult(int resultCode, Bundle resultData) {
super.onReceiveResult(resultCode, resultData);
String result = resultData.getString(MyService.EXTRA_RESULT_SUCCESS);
...
imageView.setBackgroundDrawable(bitmap);// here my code fails
}
})
Run Code Online (Sandbox Code Playgroud)
为MyService:
Bundle b = new Bundle();
b.putString(EXTRA_RESULT_SUCCESS, response.toString());
resultReceiver.send(0, b);
Run Code Online (Sandbox Code Playgroud)
我的应用程序在"imageView.setBackgroundDrawable(bitmap)"行上失败,但有以下异常:
11-13 16:25:38.986: ERROR/AndroidRuntime(3586): FATAL EXCEPTION: IntentService[MyService]
android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
Run Code Online (Sandbox Code Playgroud)
但是当我像这样定义接收器(带处理程序)时,这不会发生:
new ResultReceiver(new Handler()){.../*here goes the same code as in the first example. nothing …Run Code Online (Sandbox Code Playgroud) 我想为Erlang创建一个Intellij IDEA语言支持插件.
我遇到的第一个也是最大的问题是制作JFlex Erlang语法定义.
有谁知道我在哪里可以获得Erlang的EBNF或BNF?
我有一个应该支持几种不同语言的应用程序.有时我会忘记为其中一种语言翻译.
有没有找到在strings.xml(特定于语言环境)文件之一中没有翻译的字符串的原因?
Spring JavaConfig可以在没有xml cotext配置的情况下创建spring应用程序.而servlet 3.0规范使得无需web.xml即可创建Web应用程序.
那么,是否可以创建不使用任何xml配置的spring Web应用程序?有没有已经实施的解决方案?
PS现在我没有在servlet 3.0中看到使用Spring的DispatcherServlet和listener的任何简单方法.
我在谈论甲骨文.我有一些物化视图,它们会不时更新(它是通过计划任务完成的).很容易知道上次刷新日期 - 只需查询USER_MVIEW_REFRESH_TIMES即可.有没有办法知道当前是否有一些观点正在更新?
我认为以下内容没有任何区别:
Object o = new LinkedList<Long>();
System.out.println(o instanceof List);
System.out.println(o instanceof List<?>);
Run Code Online (Sandbox Code Playgroud)
是否有任何实际用途,instanceof List<?>何时instanceof List不能使用而反之亦然?
你们中的许多人有时会遇到有趣的代码,问题和解决方案.所有这些都可以用作好的面试问题,或者只是为了获得其他任何测验的乐趣.你能分享一下吗?我认为创建一个Erlang测验很有意思 - 一个包含好问题和答案的列表.
java ×4
android ×3
erlang ×2
syntax ×2
bnf ×1
ebnf ×1
handler ×1
instanceof ×1
javascript ×1
logging ×1
mybatis ×1
oracle ×1
resources ×1
ruby ×1
serializable ×1
servlets ×1
spring-mvc ×1
sql ×1