你认为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