# Boolean vs java.lang.Boolean

**URL:** <https://discuss.kotlinlang.org/t/boolean-vs-java-lang-boolean/7609>\
**Category:** Language Design\
**Created:** [April 29, 2018, 12:04am UTC](https://discuss.kotlinlang.org/t/boolean-vs-java-lang-boolean/7609 "2018-04-29T00:04:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![alamothe](https://avatars.discourse-cdn.com/v4/letter/a/c4cdca/32.png) [@alamothe](https://discuss.kotlinlang.org/u/alamothe)\
**Post date:** [April 29, 2018, 12:04am UTC](https://discuss.kotlinlang.org/t/boolean-vs-java-lang-boolean/7609/1 "2018-04-29T00:04:16Z")

</div>

I encountered a subtle difference between `Boolean` and other primitives:

```auto
	@Test
	fun test() {
		println(java.lang.Boolean::class.java.name)
		println(Boolean::class.java.name)
		println(java.lang.Number::class.java.name)
		println(Number::class.java.name)
		println(java.lang.String::class.java.name)
		println(String::class.java.name)

		println(java.lang.Boolean::class.qualifiedName)
		println(Boolean::class.qualifiedName)
		println(java.lang.Number::class.qualifiedName)
		println(Number::class.qualifiedName)
		println(java.lang.String::class.qualifiedName)
		println(String::class.qualifiedName)
	}

```

Prints:

```auto
java.lang.Boolean
boolean
java.lang.Number
java.lang.Number
java.lang.String
java.lang.String
kotlin.Boolean
kotlin.Boolean
kotlin.Number
kotlin.Number
kotlin.String
kotlin.String

```

Does anyone know why?

---

<div class="post-metadata">

**Author:** ![nlwillia](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/nlwillia/32/5065_2.png) [@nlwillia](https://discuss.kotlinlang.org/u/nlwillia)\
**Post date:** [April 29, 2018, 12:16am UTC](https://discuss.kotlinlang.org/t/boolean-vs-java-lang-boolean/7609/2 "2018-04-29T00:16:58Z")

</div>

Boolean is a primitive wrapper. Number and String are not. If you compared with Integer/Int you’d see the same pattern.

```auto
println(java.lang.Integer::class.java.name) // java.lang.Integer
println(Int::class.java.name) // int

```

---

<div class="post-metadata">

**Author:** ![afpro](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/afpro/32/7283_2.png) [@afpro](https://discuss.kotlinlang.org/u/afpro)\
**Post date:** [February 27, 2020, 7:26am UTC](https://discuss.kotlinlang.org/t/boolean-vs-java-lang-boolean/7609/3 "2020-02-27T07:26:20Z")

</div>

```kotlin
            Boolean::class.javaPrimitiveType,
            Boolean::class.javaObjectType,

```

try these two types
