首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Kotlin 中双等于和三等于区别

Kotlin 中双等于和三等于区别

原创
作者头像
大发明家
发布于 2021-12-17 14:29:06
发布于 2021-12-17 14:29:06
2.4K0
举报
文章被收录于专栏:技术博客文章技术博客文章

Java 中的操作符 == 和 equals 的区别

操作符 ==

  • 如果是基本数据类型比较的是值
  • 如果是引用数据类型比较的是地址

操作符 equals

  • 默认情况下在不重写 equals 方法时,等价于 ==,比较的是地址
代码语言:txt
AI代码解释
复制
public boolean equals(Object obj) {
代码语言:txt
AI代码解释
复制
    return (this == obj);
代码语言:txt
AI代码解释
复制
}
  • 重写 equals 方法时,一般用于比较结构是否相等,例如 String
代码语言:txt
AI代码解释
复制
public boolean equals(Object anObject) {
代码语言:txt
AI代码解释
复制
    if (this == anObject) {
代码语言:txt
AI代码解释
复制
        return true;
代码语言:txt
AI代码解释
复制
    }
代码语言:txt
AI代码解释
复制
    if (anObject instanceof String) {
代码语言:txt
AI代码解释
复制
        String anotherString = (String)anObject;
代码语言:txt
AI代码解释
复制
        int n = value.length;
代码语言:txt
AI代码解释
复制
        if (n == anotherString.value.length) {
代码语言:txt
AI代码解释
复制
            char v1[] = value;
代码语言:txt
AI代码解释
复制
            char v2[] = anotherString.value;
代码语言:txt
AI代码解释
复制
            int i = 0;
代码语言:txt
AI代码解释
复制
            while (n-- != 0) {
代码语言:txt
AI代码解释
复制
                if (v1[i] != v2[i])
代码语言:txt
AI代码解释
复制
                    return false;
代码语言:txt
AI代码解释
复制
                i++;
代码语言:txt
AI代码解释
复制
            }
代码语言:txt
AI代码解释
复制
            return true;
代码语言:txt
AI代码解释
复制
        }
代码语言:txt
AI代码解释
复制
    }
代码语言:txt
AI代码解释
复制
    return false;
代码语言:txt
AI代码解释
复制
}

但是需要注意的是重写 equals 方法时,需要重写 hashCode() 方法,否则无法和 hash 集合类一起正常工作,可以通过快捷键自动生成

equals()hashCode()toString() 等等方法。

  • Mac: Cmd + N
  • Win/Linux: Alt+Insert

更多 AndroidStudio 快捷键使用技巧查看下列文章:

关于 Java 的操作符介绍就到这里了,接下来重点来分析 Kotlin 中的操作符。

Kotlin 中的操作符 == 和 === 及 equals

Kotlin 提供了两种方式用于对象的比较。

  • 比较对象的结构是否相等( == 或者 equals

Kotlin 中的操作符 == 等价于 equals 用于比较对象的结构是否相等, 很多情况下使用的是 ==,因为对于浮点类型 Float 和

Double,其实现方法 equals 不遵循 IEEE 754 浮点运算标准。

  • 比较对象的引用是否相等 ( === )

Kotlin 中的操作符 === 用于比较对象的引用是否指向同一个对象,运行时如果是基本数据类型 === 等价于 ==

我们知道了基本概念之后,接下来一起来看一下这些操作符( =====equals ),在以下场景中的使用。

  • 基本数据类型
  • 包装类
  • 普通类
  • 数据类

基本数据类型

我们先来看一个例子:

代码语言:txt
AI代码解释
复制
val a1 = -0
代码语言:txt
AI代码解释
复制
val a2 = 0
代码语言:txt
AI代码解释
复制
println(a1 == a2)       // true
代码语言:txt
AI代码解释
复制
println(a1.equals(a2))  // true
代码语言:txt
AI代码解释
复制
println(a1 === a2)      // true
代码语言:txt
AI代码解释
复制
a1 = 100
代码语言:txt
AI代码解释
复制
a2 = 100
代码语言:txt
AI代码解释
复制
println(a1 == a2)       // true
代码语言:txt
AI代码解释
复制
println(a1.equals(a2))  // true
代码语言:txt
AI代码解释
复制
println(a1 === a2)      // true

运行时,对于基本数据类型 === 等价于 == 比较的是值(即对象的结构是否相等),如果比较基本数据类型时使用

===编译器就会给出一个警告,不建议使用。

但是 equals 比较特殊, 对于浮点类型 Float 和 Double 却有不同的表现,代码如下所示。

代码语言:txt
AI代码解释
复制
val a3 = -0f
代码语言:txt
AI代码解释
复制
val a4 = 0f
代码语言:txt
AI代码解释
复制
println(a3 == a4)       // true
代码语言:txt
AI代码解释
复制
println(a3.equals(a4))  // false
代码语言:txt
AI代码解释
复制
println(a3 === a4)      // true

正如你所看到的 a3.equals(a4) 结果为 false,那么为什么会这样呢,一起来查看反编译后的 Java 代码都做了什么。`Tools →

Kotlin → Show Kotlin Bytecode` 。

代码语言:txt
AI代码解释
复制
float a3 = -0.0F;
代码语言:txt
AI代码解释
复制
float a4 = 0.0F;
代码语言:txt
AI代码解释
复制
boolean var2 = Float.valueOf(a3).equals(a4);
代码语言:txt
AI代码解释
复制
boolean var3 = false;
代码语言:txt
AI代码解释
复制
System.out.println(var2);

将 float 转换为包装类型 Float,调用其 equals 方法来进行比较,来看一下 equals 方法。

运行结果正如源码注释高亮部分一样,使用 equals 方法比较 +0.0f-0.0f 其结果为 false, 如果使用操作符 ==

结果为 true。

equals 方法中调用了 floatToIntBits 方法,在这个方法中是根据 IEEE 754 浮点算法标准

,返回指定浮点值的表示形式,结果是一个整数,如下所示:

代码语言:txt
AI代码解释
复制
System.out.println(Float.floatToIntBits(-0f));  // -2147483648
代码语言:txt
AI代码解释
复制
System.out.println(Float.floatToIntBits(0f));   // 0

正如你所见,Float.floatToIntBits(-0f) 计算出来的结果,是整数的最小值 -2147483648,从结果来看它不遵循 **IEEE

754 浮点运算标准** ,一起来看一下官方是如何解释的,更多信息点击查看 [IEEE 754

浮点运算标准](https://links.jianshu.com/go?to=https%3A%2F%2Fkotlinlang.org%2Fdocs%2Fbasic-

types.html%23unsigned-integers)

对于浮点类型 Float 和 Double,其实现方法 equals 不遵循 IEEE 754 浮点运算标准

  • NaN 被认为和它自身相等
  • NaN 被认为比包括正无穷在内的任何其他元素都大
  • -0.0 小于 +0.0

因此在 Kotlin 中如果使用 equals 方法进行比较的时候,需要注意这个情况。

包装类

无论是 Java 还是 Kotlin 每一种基本类型都会对应一个唯一的包装类,只不过它们的区分方式不一样。

基本数据类型

包装类

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

代码语言:txt
AI代码解释
复制
val a5 = Integer(10)    
代码语言:txt
AI代码解释
复制
val a6 = Integer(10)
代码语言:txt
AI代码解释
复制
println(a5 == a6)       // true
代码语言:txt
AI代码解释
复制
println(a5.equals(a6))  // true
代码语言:txt
AI代码解释
复制
println(a5 === a6)      // false

因为包装类重写了 equals 方法,所以使用操作符 ==equals 比较的是对象的结构是否相等,所以结果为 true。而操作符

=== 比较的是对象的引用,是否指向同一个对象,因为是不同的对象,所以结果为 false。

普通的类

普通的类其实就是我们自己新建的类,并没有重写 equals 方法,一起来看一下这三种操作符的运行结果。

代码语言:txt
AI代码解释
复制
class Person1(val name: String, val age: Int)
代码语言:txt
AI代码解释
复制
val p1 = Person1(name = "hi-dhl", age = 10)
代码语言:txt
AI代码解释
复制
val p2 = Person1(name = "hi-dhl", age = 10)
代码语言:txt
AI代码解释
复制
println(p1 == p2)       // false
代码语言:txt
AI代码解释
复制
println(p1.equals(p2))  // false
代码语言:txt
AI代码解释
复制
println(p1 === p2)      // false
代码语言:txt
AI代码解释
复制
println(p1.name == p2.name)         // true
代码语言:txt
AI代码解释
复制
println(p1.name.equals(p2.name))    // true
代码语言:txt
AI代码解释
复制
println(p1.name === p2.name)        // true

因为普通的类 Person1 并没有实现 equals 方法,所以使用操作符 ==equals 比较的结果为 false,而 p1 和

p2 是不同的对象所以操作符 === 的结果为 false。

参数 name 是 String 类型,在上文分析过了 String 重写了 equals 方法,操作符 ==equals 比较的结果为

true。而 p1.name === p2.name 结果为 true , 是因为会先去常量池中查找是否存在 "hi-

dhl",如果存在直接返回常量池中的引用。

数据类

最后我们在来看一下这三种操作符在数据类中的表现。

代码语言:txt
AI代码解释
复制
data class Person2(val name: String, val age: Int)
代码语言:txt
AI代码解释
复制
val p3 = Person2(name = "ByteCode", age = 10)
代码语言:txt
AI代码解释
复制
val p4 = Person2(name = "ByteCode", age = 10)
代码语言:txt
AI代码解释
复制
println(p3 == p4)       // true
代码语言:txt
AI代码解释
复制
println(p3.equals(p4))  // true
代码语言:txt
AI代码解释
复制
println(p3 === p4)      // false
代码语言:txt
AI代码解释
复制
println(p3.name == p4.name)     // true
代码语言:txt
AI代码解释
复制
println(p3.name.equals(p4.name))// true
代码语言:txt
AI代码解释
复制
println(p3.name === p4.name)    // true

因为编译器会根据数据类中的参数,自动生成 equalshashCodetoString 等等方法,编译后的代码如下所示。

代码语言:txt
AI代码解释
复制
public int hashCode() {
代码语言:txt
AI代码解释
复制
  String var10000 = this.name;
代码语言:txt
AI代码解释
复制
  return (var10000 != null ? var10000.hashCode() : 0) * 31 + Integer.hashCode(this.age);
代码语言:txt
AI代码解释
复制
}
代码语言:txt
AI代码解释
复制
public boolean equals(@Nullable Object var1) {
代码语言:txt
AI代码解释
复制
  if (this != var1) {
代码语言:txt
AI代码解释
复制
     if (var1 instanceof Person2) {
代码语言:txt
AI代码解释
复制
        Person2 var2 = (Person2)var1;
代码语言:txt
AI代码解释
复制
        if (Intrinsics.areEqual(this.name, var2.name) && this.age == var2.age) {
代码语言:txt
AI代码解释
复制
           return true;
代码语言:txt
AI代码解释
复制
        }
代码语言:txt
AI代码解释
复制
     }
代码语言:txt
AI代码解释
复制
     return false;
代码语言:txt
AI代码解释
复制
  } else {
代码语言:txt
AI代码解释
复制
     return true;
代码语言:txt
AI代码解释
复制
  }
代码语言:txt
AI代码解释
复制
}

所以使用操作符 ==equals,输出结果为 true,但是 p3 和 p4 是不同的对象所以操作符 === 的结果为 false。

总结

Java 中的操作符

操作符 ==

  • 如果是基本数据类型比较的是值
  • 如果是引用数据类型比较的是地址

操作符 equals

  • 默认情况下在不重写 equals 方法时,等价于 ==,比较的是地址
  • 重写 equals 方法时,常用于比较结构是否相等,可以通过快捷键自动生成 equals()hashCode()toString() 等等方法。
    • Mac: Cmd + N
    • Win/Linux: Alt+Insert

Kotlin 中的操作符

Kotlin 提供了两种方式用于对象的比较。

  • 比较对象的结构是否相等( == 或者 equals

Kotlin 中的操作符 == 等价于 equals 用于比较对象的结构是否相等, 很多情况下使用的是 ==,因为对于浮点类型 Float 和

Double,其实现方法 equals 不遵循 IEEE 754 浮点运算标准。

  • 比较对象的引用是否相等 ( === )

Kotlin 中的操作符 === 用于比较对象的引用是否指向同一个对象,运行时如果是基本数据类型 === 等价于 ==

全文到这里就结束了,最后附上文章的精简示例,你能够在不运行程序的情况下,说出下面代码的运行结果吗?

代码语言:txt
AI代码解释
复制
class Person1(val name: String, val age: Int)
代码语言:txt
AI代码解释
复制
data class Person2(val name: String, val age: Int)
代码语言:txt
AI代码解释
复制
fun main() {
代码语言:txt
AI代码解释
复制
    val a1 = -0
代码语言:txt
AI代码解释
复制
    val a2 = 0
代码语言:txt
AI代码解释
复制
    println(a1 == a2)
代码语言:txt
AI代码解释
复制
    println(a1.equals(a2)
代码语言:txt
AI代码解释
复制
    val a3 = -0f
代码语言:txt
AI代码解释
复制
    val a4 = 0f
代码语言:txt
AI代码解释
复制
    println(a3 == a4)
代码语言:txt
AI代码解释
复制
    println(a3.equals(a4))
代码语言:txt
AI代码解释
复制
    //-------------
代码语言:txt
AI代码解释
复制
    val p1 = Person1(name = "hi-dhl", age = 10)
代码语言:txt
AI代码解释
复制
    val p2 = Person1(name = "hi-dhl", age = 10)
代码语言:txt
AI代码解释
复制
    println(p1 == p2)
代码语言:txt
AI代码解释
复制
    println(p1.equals(p2))
代码语言:txt
AI代码解释
复制
    println(p1 === p2)
代码语言:txt
AI代码解释
复制
    println(p1.name === p2.name)
代码语言:txt
AI代码解释
复制
    //-------------
代码语言:txt
AI代码解释
复制
    val p3 = Person2(name = "ByteCode", age = 10)
代码语言:txt
AI代码解释
复制
    val p4 = Person2(name = "ByteCode", age = 10)
代码语言:txt
AI代码解释
复制
    println(p3 == p4)
代码语言:txt
AI代码解释
复制
    println(p3.equals(p4))
代码语言:txt
AI代码解释
复制
    println(p3 === p4)
代码语言:txt
AI代码解释
复制
    println(p3.name === p4.name)
代码语言:txt
AI代码解释
复制
}

运行结果如下所示:

代码语言:txt
AI代码解释
复制
a1 == a2        true
代码语言:txt
AI代码解释
复制
a1.equals(a2)   true
代码语言:txt
AI代码解释
复制
a3 == a4        true
代码语言:txt
AI代码解释
复制
a3.equals(a4)   false
代码语言:txt
AI代码解释
复制
--------------------------
代码语言:txt
AI代码解释
复制
p1 == p2        false
代码语言:txt
AI代码解释
复制
p1.equals(p2)   false
代码语言:txt
AI代码解释
复制
p1 === p2       false
代码语言:txt
AI代码解释
复制
p1.name === p2.name true
代码语言:txt
AI代码解释
复制
--------------------------
代码语言:txt
AI代码解释
复制
p3 == p4        true
代码语言:txt
AI代码解释
复制
p3.equals(p4)   true
代码语言:txt
AI代码解释
复制
p3 === p4)      false
代码语言:txt
AI代码解释
复制
p3.name === p4.name true

<p align="center">

<p align="center"><b>如果有帮助 点个赞 就是对我最大的鼓励</b></p>

<p align="center"><b>代码不止,文章不停</b></p>

</p>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
这款三国IP游戏撬动了港澳台新马玩家的兴奋点|GME案例
编者荐语  《真·三国无双 霸》是由日本KOEI TECMO(光荣特库摩)开发的一款开放世界动作游戏。该游戏于1月19日正式登陆港澳台新马地区,支持 iOS和Android,吸引了众多亚洲玩家。GME为其提供实时语音、语音消息、语音转文本服务,为玩家带来超低时延、极致流畅的游戏语音体验。 20世纪末,日本光荣株式会社凭借着三国志、真三国无双等IP成为三国题材游戏开发商中的翘楚,成为了泛亚洲文化圈玩家共同的游戏记忆。 进入移动互联网时代,伴随着中国手游产业的爆炸式发展,真·三国无双又经由光荣特库摩授权,中手游
腾讯游戏多媒体引擎GME
2022/08/16
1K0
这款三国IP游戏撬动了港澳台新马玩家的兴奋点|GME案例
《仙剑》、《真三国无双》或推VR版游戏,是神作续写,还是毁灭经典?
近年来,我们经常能听到某某游戏IP大作强势登陆某某平台的消息,但点进去一看发现竟然是个粗糙的页游!现在的游戏貌似都喜欢为自己戴高帽,不仅在游戏名上努力向经典大作上靠,连内容也生搬硬套。这样即使短期可能
VRPinea
2018/05/16
8050
《王者荣耀》2亿用户量的背后:产品定位、技术架构、网络方案等
1、前言 作为一个国民级手游,《王者荣耀》公测几年来的表现一直很强势。在耀眼的成绩背后,到底是什么样的技术支撑了这个用户量破2亿的游戏?王者上线前后在技术上有哪些变化、又是如何处理网络问题的? 《王者荣耀》能够成为如今国内最成功的手游,其后方成熟的技术团队可以说是功不可没。这个曾经在端游时代主导搭建RTS游戏《霸三国》框架的技术团队,在转型做MOBA手游《王者荣耀》后为游戏提供了巨大的支持。但这个过程也并非一帆风顺。 2、内容概述 今天分几部分和大家介绍王者后台开发过程中的一些内容和思考:包括王者整
用户1263954
2018/06/22
3.6K0
游戏分析法(三):核心产品决策
如果要分析一款游戏的基本设定,一般来说,最基本的元素就是“题材”和“玩法”两个部分。这两个方面对于游戏来说互为表里的一体。任何一种玩法,都需要题材的包装,因为大多数玩家不会去玩那些只有一堆色块的组成的游戏,当然,俄罗斯方块是一个特例。而玩法则是一款游戏的核心,因为游戏区别于电影、文学、音乐、积木等等事物之处,正在于可以操作,而且这种操作是有输、赢结果的区分。因为有了操作,玩家才会更加投入,并且从操作中获得一种特别的乐趣。当然现在有大量的游戏的提倡“轻操作”,但这绝不是“无操作”,而是把很多需要频繁的体力操作,换成更多的需要“脑力”运作来做的操作。
韩伟
2019/05/23
1.9K0
《羊了个羊》山寨版就登上了iOS免费榜第一,绅士游戏《欲神幻想》上线
在接连刷屏微博热搜、朋友圈和各大官媒后,《羊了个羊》又把“前辈”《3 Tiles》从iOS免费总榜第一的位置挤了下去。
香菜聊游戏
2022/10/31
1.8K0
《羊了个羊》山寨版就登上了iOS免费榜第一,绅士游戏《欲神幻想》上线
聊聊手游的那些“惊喜”与“惊吓”
满足用户的需求,提供用户喜欢的惊喜,听上去似乎是一件需要不断创新的事情。但实际上,正如在有限的游戏类型里,我们需要每年做出一大堆新款游戏那样,持续不停地创新其实是不现实的。
博文视点Broadview
2020/06/11
6810
《鸿图之下》的破局之路——腾讯首款沙盘战略手游运营复盘
作者:杨文熙 腾讯IEG游戏运营 导语| 作为腾讯首款沙盘战略手游,《鸿图之下》如何在SLG红海中破局突围,本文将通过从预约测试到上线运营阶段的社区内容复盘,具体分析《鸿图之下》如何从零到一开拓SLG细分品类的破局之路。 引 言 《鸿图之下》是腾讯首款以三国为背景的沙盘战略手游,以局内策略组合、超大沙盘对抗、版图扩张为品类核心玩法乐趣。作为盘内首款赛季制沙盘战略手游,《鸿图之下》在产品发行运营的开局就遇到了“用户难触达”、“产品难玩懂”的困境。本文将从社区内容角度切入,复盘与分析《鸿图之下》从零到
腾讯大讲堂
2021/06/23
1.5K4
买量市场2019年的收官战,只剩一个“难”字来形容
刚刚过去的2019年,精细化买量被更多从业者提及。无论是素材制作还是渠道投放,游戏厂商的打法更加深入,买量成本因此持续走高,门槛变高了,想突围也就不那么容易。
iCDO互联网数据官
2020/02/19
1.3K0
买量市场2019年的收官战,只剩一个“难”字来形容
PAX East 2019|索尼展示PS VR游戏《Golem》,《无主之地》全员回归!
当地时间3月28日,PAX East 2019已于波士顿会展中心正式开幕了!这一届还恰逢PAX East十周年,着实吸引了不少游戏厂商!
VRPinea
2019/04/28
6700
PAX East 2019|索尼展示PS VR游戏《Golem》,《无主之地》全员回归!
如何将新手引导模块化 By:唐糖棠
其实想总结这个问题想了很久了,但是一直觉得自己还缺很多东西,再加之时间和项目进度加快,更没有时间去做这件事。直到有一天跟香菜唠嗑,我问他为啥你的公众号里都是程序员的技术文章,整点策划的啊。没想到他反手整了一句,要不你来搞个吧,就新手引导的。这也就是我写这篇文章的原因吧。
香菜聊游戏
2021/06/07
9310
如何将新手引导模块化  By:唐糖棠
文史作家朱晖:我眼中的三国文化与王者荣耀
7月9日,《王者荣耀》上线新版本——以三国文化为内核打造的全新游戏版本“三分之地”。 在本次“三分之地”的研发过程中,《王者荣耀》和腾讯新文创研究院共同邀请外部专家参与共创,其中复旦大学文科资深教授葛剑雄担任《王者荣耀》学术顾问,提供价值观方面的指导意见;中国传媒大学副教授周逵、文史作家朱晖担任三分之地项目指导,深度支持内容共创。 我们邀请朱晖老师分享了他作为“三分之地”的项目指导的感受,以及对三国文化、游戏世界观构建等话题的理解。 文 | 朱晖 文史作家 《王者荣耀》三分之地项目指导 当我小时候
腾讯大讲堂
2020/10/28
7970
【2014第1季度】中、美、韩三国手游市场分析报告
手游发展正在全球崛起,然而不同国家地区,因为文化地域差异,流行的游戏玩法也不尽相同。InMobi于2014年第一季度,通过对美、中、韩三国1292名手游玩家进行跟踪调查(美国616名、中国343名、韩国333名参与者)分析了不同市场对游戏领域的影响、玩家玩法习惯的差异、以及美中韩三国的游戏市场渠道。希望能够通过这份报告让开发和发行者们更好的了解,如何在各地区,有针对性并高效地实现创收。 1.三国游戏全景概况:历史文化因素对该国游戏发展造成影响 一个国家的历史和文化影响该国的游戏发展蓝图。由于电子游戏的禁
小莹莹
2018/04/19
9600
【2014第1季度】中、美、韩三国手游市场分析报告
《游戏专业概论》总结+笔记
毕业设计心得:开篇先来写一写这个吧,我把它藏在这个这篇博客的开头,如果也有希望入行产品/游戏策划、设计有关的行业的同学,也可以看看这只愣头青是怎么设计一款lj游戏的。 同时,我认为编写博客,可以让我总结以往失败的教训以及成功的经验,对于我来说,这笔课堂记在本子上的笔记有用多了。 我的毕业设计,是设计一款能够让小学2-6年级的学生自学C++的严肃游戏。得益于我的高中老师,我本身从事编程教育工作应该说是有一些年头了,而这次毕业设计也算是一次很好的实践机会。 先说一下团队配置,1个策划(我)6个写代码的,2个美术
[Sugar]
2022/09/21
7130
手游后劲不足,“体验”会是端游发展的一张王牌吗?
1994年,Hagenuk公司在其公司的手机Hagenuk-2000上推出了俄罗斯方块游戏,手机游戏开始进入大众视野。经过近24年的发展,手游市场从初露锋芒到现在的半壁江山,其发展速度令人咂舌,且按照目前趋势来看,手游市场仍然是众人争抢的“香馍馍”。
用户2908108
2018/09/13
1.1K0
手游后劲不足,“体验”会是端游发展的一张王牌吗?
从《乱世王者》看腾讯SLG手游如何搭建完整安全服务
原文链接:https://wetest.qq.com/lab/view/453.html
WeTest质量开放平台团队
2019/04/20
2.9K0
从《乱世王者》看腾讯SLG手游如何搭建完整安全服务
游戏性与IP互动的基本规律
为什么需要IP 影视、小说作品的IP应用于游戏,很多年前就有这样的例子。但是很长一段时间以来,这样的做法并不太受市场欢迎。本人很小的时候就玩过红白机上的《蝙蝠侠》,除了人物、背景有点味道外,整个游戏难
韩伟
2018/03/05
2K0
游戏性与IP互动的基本规律
响铃:人到中年,却活成了一个大男孩—丁磊及他的网易游戏
坊间关于丁磊的“传奇”故事一搜一打。真性情、自我恶搞、抠门、表情包……他早已成了互联网中最有段子的大佬,没有之一。
曾响铃
2018/08/20
6460
响铃:人到中年,却活成了一个大男孩—丁磊及他的网易游戏
投稿 | DataEye :2016年Q1 SLG游戏市场深度研究报告
<数据猿导读> 近日,DataEye发布了一份2016年Q1 SLG游戏市场深度研究报告。报告显示,2016年Q1策略类新游数量呈现上涨趋势,其中2月份受春节假期影响,发布数量有所降低 策略类游戏定义
数据猿
2018/04/19
9520
投稿 | DataEye :2016年Q1 SLG游戏市场深度研究报告
从《乱世王者》看腾讯SLG手游如何搭建完整安全服务
WeTest 导读 《乱世王者》是由腾讯旗下天美工作室群自主研发的一款战争策略手游,在经历了2015年-2017年的SLG品类手游的爆发之势下,于2017年11月21日正式公测。 《乱世王者》继承了SLG结构的经典内核,但游戏增加了许多附带休闲社交属性的流行元素,比如AR摄像头寻宝,形象个性化的美图美颜时尚功能,以及可实时互动的专业主播驻场等,收获了大批手游玩家和粉丝。 据App Annie数据显示,自8月15日上线起至12月31日,《乱世王者》有约八成的时间都处在畅销榜前十。即使是运营1年后,《
WeTest质量开放平台团队
2019/05/16
3.1K0
从《乱世王者》看腾讯SLG手游如何搭建完整安全服务
骁龙嘉年华全面展示前沿移动科技,赋能美好数字生活
8月26日,骁龙嘉年华在成都东郊记忆国际时尚产业园正式开启,成都市市委宣传部副部长、成都市文产办主任师江、成都传媒集团董事长母涛、Ø成都市成华区区委宣传部部长马亚炜、高通公司全球高级副总裁盛况、高通公司全球副总裁侯明娟、高通公司全球副总裁李晶莅临现场。为期三天的骁龙嘉年华是高通首次打造的大型线下数字娱乐盛会,高通公司携手运营商、智能手机厂商、汽车厂商和电商等100多家行业合作伙伴,在16,000平米的超大展区展示近千款顶尖科技产品,为广大科技爱好者、游戏玩家和Z世代人群,带来集科技、电竞和潮玩于一体的综合数字娱乐体验。
VRPinea
2022/11/16
2700
骁龙嘉年华全面展示前沿移动科技,赋能美好数字生活
推荐阅读
相关推荐
这款三国IP游戏撬动了港澳台新马玩家的兴奋点|GME案例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档