我在 java 和 kotlin 中有两个几乎相同的代码
爪哇:
public void reverseString(char[] s) {
helper(s, 0, s.length - 1);
}
public void helper(char[] s, int left, int right) {
if (left >= right) return;
char tmp = s[left];
s[left++] = s[right];
s[right--] = tmp;
helper(s, left, right);
}
Run Code Online (Sandbox Code Playgroud)
科特林:
fun reverseString(s: CharArray): Unit {
helper(0, s.lastIndex, s)
}
fun helper(i: Int, j: Int, s: CharArray) {
if (i >= j) {
return
}
val t = s[j]
s[j] = s[i]
s[i] = t …Run Code Online (Sandbox Code Playgroud) Intent类有6个构造函数
意图()
创建一个空的意图.
意图(意图o)
复制构造函数.
意图(字符串动作)
使用给定操作创建意图.
意图(字符串动作,Uri uri)
使用给定操作和给定数据URL创建意图.
Intent(Context packageContext,Class cls)
为特定组件创建意图.
Intent(String action,Uri uri,Context packageContext,Class cls)
使用指定的操作和数据为特定组件创建意图.
我几乎是android编程的新手,当我需要启动另一个时,我大多使用第五个Activity或者Fragment:
Intent(Context packageContext, Class<?> cls)
Run Code Online (Sandbox Code Playgroud)
当我想Activity从一个开始,Fragment我这样做:
Intent i = new Intent(getActivity(), DestinationActivity.class);
Run Code Online (Sandbox Code Playgroud)
据我所知,getActivity()将返回一个Activity
但构造函数期望a Context,这怎么可能???
是否有可能因为Activity已经通过getActivity()隐式调用返回getApplicationContext()???
请解释一下ArticleListFragment,ArticleReaderFragmet因为它们在这段代码中:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment android:name="com.example.news.ArticleListFragment"
android:id="@+id/list"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
<fragment android:name="com.example.news.ArticleReaderFragment"
android:id="@+id/viewer"
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="match_parent" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我不知道他们指的是什么?它是在源代码中使用的Fragment类(或其子类)还是用于布局的XML文件?
如果它们是XML文件,它们必须位于哪里?
我阅读了有关getInt()方法的文档:
public int getInt(String key)
返回与给定键关联的值,如果给定键不存在所需类型的映射,则返回0.
参数:
键一个字符串
返回:
一个int值
但我无法理解它究竟归来的东西.
它的ID key是在R.java还是没有别的???
让我们假设我们有一个 Class,它只包含一个实例变量,它的类型是引用类型。我们没有实现任何构造函数,所以 Class 有它的默认构造函数。
如果我理解正确,默认构造函数会为实例变量提供默认值,而引用类型的默认值为 null。真的吗?
如果是,我们要创建这个类的对象。这两个声明和初始化这个类的对象的语句有什么区别吗?
Class object = null;
Run Code Online (Sandbox Code Playgroud)
和
Class object = new Class();
Run Code Online (Sandbox Code Playgroud)