Kotlin中Val和Const val有什么区别?
#java #kotlin #android #xml

如果您是Kotlin的新手,您可能想知道当我们有Val时需要什么const val? ðρ

两者都是一样的,对吗? ðρ

那么本文适合您。 ð

  • val和const val之间的主要区别在于可以在运行时分配val一个值,而const val必须在编译时分配一个值,并且后来不能更改(它们的值是硬编码)。
/*
const val eg.
*/
const val baseUrl  = "https://rickandmortyapi.com/api"

/*
val eg.
*/
val db = FirebaseDatabase.getInstance()
  • const val只能在文件的顶层或对象声明中声明,而可以在函数,类或对象中的任何地方声明val。

const val减速的示例


package com.example.admindashboard

import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.example.admindashboard.databinding.ActivityMainBinding
import com.example.admindashboard.ui.AddBooks
import com.example.admindashboard.ui.ControlPanelActivity
import com.example.admindashboard.ui.NotifficationActivity

const val message = "Hello "                // correct

class MainActivity : AppCompatActivity() {

    const val message2 = "hello again"      // incorrect

// other code
    var binding: ActivityMainBinding? = null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding!!.root)

    }

}

const val声明的示例

package com.example.admindashboard.utils

import com.google.firebase.database.FirebaseDatabase
import com.google.firebase.storage.FirebaseStorage

object FirebaseUtils {

    const val bookNodeName = "books"  // const val declaration

    val firebaseDatabase = FirebaseDatabase.getInstance()

    var pyqRef = firebaseDatabase.getReference("pyq")


}

感谢您阅读本文。如果您发现这种有用和有趣的话,喜欢。

如果我发现了一些问题,请在评论中提及。我很想改进。

GitHubLinkedIn

上与我联系