Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 声明意图和启动活动的更好方法是什么?_Java_Android_Android Intent_Start Activity - Fatal编程技术网

Java 声明意图和启动活动的更好方法是什么?

Java 声明意图和启动活动的更好方法是什么?,java,android,android-intent,start-activity,Java,Android,Android Intent,Start Activity,我在Youtube、Stack Overflow和其他地方看到了一些Intent声明,我发现了两种类型的Intent声明 第一类: Intent intent = new Intent(FirstActivity.this, SecondActivity.class); startActivity(intent); 第二类: startActivity(new Intent(FirstActivity.this, SecondActivity.class)); 我的问题是,哪种方式更适合声明

我在Youtube、Stack Overflow和其他地方看到了一些
Intent
声明,我发现了两种类型的
Intent
声明

第一类:

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);
第二类:

startActivity(new Intent(FirstActivity.this, SecondActivity.class));

我的问题是,哪种方式更适合声明
意图
?这两个声明之间有什么显著的区别吗?

性能上没有区别,这实际上取决于您的偏好。
就我个人而言,我更喜欢第一个选项,因为将
Intent
赋值给一个新变量更清晰,我以后可以很容易地添加更多额外变量。

这是我的首选。哪个更容易阅读/理解?我总是用第一个


如果您需要添加额外的意图或设置它的操作,您无论如何都会希望使用第一种方法。

它的工作原理相同,但是如果您想要设置活动启动标志,或者您想要在意图中放置一些值/对象以发送到目标活动,第一种方法将更清晰、更容易理解。 例如

    // First type
    Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.putExtra("name","xyz");
    intent.putExtra("email","abc@gmail.com");
    startActivity(intent);

    // Second type
     startActivity(new Intent(FirstActivity.this, SecondActivity.class)
    .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
    .putExtra("name","xyz")
    .putExtra("email","abc@gmail.com"));