kotlin与java实现混编基础看这篇就够了

news2024/12/25 13:39:13

前几年一直关注安卓,想换个方向,奔着移动端大步向前,由于比较懒就一直停留在想法,这不今天勤快点,动手搞了一个基础的java和kotlin混编,和大家总结分享一下。

首先需要了解什么事kotlin,kotlin中文网上面有详细的讲解,比如入门教学、下方有移动端、服务端和web端三大方向的选择。具体网址如下

kotlin中文网:
https://www.kotlincn.net/

经过短暂了解学习,我们进入到正题

创建我们的项目

我这里已经创建好了,就和我们平常创建java项目步骤一样
image.png

pom文件

接下来在pom文件中引入我们的kotlin包,kotlin.version版本我们选择的是1.2.50
在这里插入图片描述

<dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-reflect</artifactId>
    <version>${kotlin.version}</version>
</dependency>
<dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-runtime</artifactId>
    <version>${kotlin.version}</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.module</groupId>
    <artifactId>jackson-module-kotlin</artifactId>
    <version>2.9.6</version>
</dependency>
<dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-stdlib-jdk8</artifactId>
    <version>${kotlin.version}</version>
</dependency>
<dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-test</artifactId>
    <version>${kotlin.version}</version>
    <scope>test</scope>
</dependency>

上面的准备工作我们完成了,接下来我们开始我们代码

controller代码开发

kotlin的变量定义和我们的js定义有些类似,可以用我们var来定义变量,而且结尾也不用使用分号

比如 var coupon = Coupon()

在定义接口参数的时候,和java也有点区别,java中定义变量是类型在前,而我们kotlin定义变量是类型在后,而且中间有冒号隔开,返回类型在参数之后跟随,以冒号隔开,具体如下所示

open fun homeList(type : String?,couponName : String?,couponType : String?,@RequestParam status: String): String {

这里面我们定义了几个参数,分别为type、couponName、couponType、status

我们的返回类型就是String类型。

具体代码如下

 /**
  * 优惠券列表
  */
@RequestMapping(value="lists")
open fun homeList(type : String?,couponName : String?,couponType : String?,@RequestParam status: String): String {

     var coupon = Coupon()
     if(!StringUtils.isEmpty(type)){
         coupon.type = type?.toInt()
     }
     coupon.title = couponName
     coupon.status = status.toInt()
     coupon.couponType = couponType?.toInt()
     val pageInfo = couponService.test()
     return "success";
 }

这里我们基础的混编就结束了。谢谢大家!

更多编程内容,请扫码关注《coder练习生》,如果觉得有用,也可赠送作者一杯咖啡
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/113613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何使用腾讯云轻量应用服务器挂载 CFS 文件系统

文件存储&#xff08;Cloud File Storage&#xff0c;CFS&#xff09;提供了可扩展的共享文件存储服务&#xff0c;可与腾讯云云服务器 、容器、批量计算、轻量应用服务器等服务搭配使用。CFS 提供了标准的 NFS 及 CIFS/SMB 文件系统访问协议&#xff0c;可为计算服务提供共享的…

【Unity】【Pico】手柄摇杆控制第一人称移动和旋转

【Unity】【Pico】手柄摇杆控制第一人称移动和旋转 背景&#xff1a;开发影院系统 环境&#xff1a;Unity2021.3、PicoNeo3ProEye 描述&#xff1a;已经在Unity项目中实现第一人称WASD移动和鼠标旋转&#xff08;代码见我的其他博文&#xff09; 需求&#xff1a;希望项目在Pi…

Cobalt Strike Beacon 初探

背景 RTO I 的课程结束了&#xff0c;Cobalt Strike 算是会用了。然后继上一篇文章之后&#xff0c;我还没有机会用 Cobalt Strike Beacon 做一下 Windows Defender Bypass。之后会写。 另外&#xff0c;我也想问一下我自己&#xff0c;Cobalt Strike 里面最基本的 payload -…

Springboot+Netty实现基于天翼物联网平台CTWing(AIOT)终端TCP协议(透传模式)-应用订阅端(北向应用)

之前实现了使用SpringbootNetty基于天翼物联网平台CTWing(AIOT)终端TCP协议(透传模式)-设备终端&#xff08;南向设备&#xff09;&#xff0c;模拟设备发送的数据给到了AIOT平台&#xff0c;那么在第三方应用也需要去订阅AIOT平台的数据&#xff0c;以及对设备进行下发指令(消…

FastGithub的下载和使用

前言 github访问很不稳定&#xff0c;时断时续&#xff0c;有时候根本打不开&#xff01; 下载 方式一&#xff1a;官方地址下载&#xff08;有及时更新&#xff09; FastGithub1.1.7下载、FastGithub2.1.4_windows、FastGithub2.1.4_Linux、 更多 方式二&#xff1a;本地上传…

[编程语言][C++][Qt]单独添加UI文件

单独添加UI文件问题描述解决方案1. 添加UI文件2. 与对应的界面类进行关联3. 修改UI文件4. 设置界面类读取UI文件总结问题描述 不知什么原因&#xff0c;Qt Creator并不是很完美很智能。当先写好界面类的头文件和源代码文件后&#xff0c;我们再添加用于可视化界面设计的UI文件…

美国顶级在线教育平台泄露22TB数据

©网络研究院 事件发生时&#xff0c;属于美国“三大”教育出版商之一的麦格劳希尔教育(McGraw Hill) 的两个配置错误的 AWS S3 存储桶在没有任何安全认证的情况下暴露在外。 vpnMentor 的网络安全研究人员发现了几个配置错误的 Amazon Web Services (AWS) S3 存储桶&…

RV1126笔记二十一:车辆颜色识别

若该文为原创文章,转载请注明原文出处。 一、介绍 在学习RV1126的过程中,测试了yolov5可以实现物体检测,物体目标识别等功能,Rock-X也自带了车牌识别功能,具体可以了解下正点原子的资料,里面有详细的介绍,这里介绍一个如何识别车辆颜色。只是提供一个思路,效果不是很…

RabbitMQ 第一天 基础 4 RabbitMQ 的工作模式 4.4 Topic 通配符模式 4.5 工作模式总结

RabbitMQ 【黑马程序员RabbitMQ全套教程&#xff0c;rabbitmq消息中间件到实战】 文章目录RabbitMQ第一天 基础4 RabbitMQ 的工作模式4.4 Topic 通配符模式4.4.1 模式说明4.4.2 代码编写4.4.3 小结4.5 工作模式总结第一天 基础 4 RabbitMQ 的工作模式 4.4 Topic 通配符模式 …

人工智能期末复习:人工神经网络(详细笔记和练习题)

文章目录1.概述2.基本单元-神经元3.激活函数3.1.阶跃函数3.2.Sigmoid函数3.3.TanH函数3.4.ReLU函数3.5.Softplus函数4.多层前馈神经网络5.损失函数5.1.均方误差5.2.交叉熵6.调参方法6.1.梯度下降法1.概述 神经网络定义&#xff1a;神经网络是具有适应性的简单单元组成的广泛并…

vue3 ant design vue——修改table表格的默认样式(css样式穿透)(一)调整table表格每行(row)行高过高问题

vue3 antd项目实战——修改ant design vue table组件的默认样式&#xff08;调整每行行高&#xff09;知识调用场景复现实际操作解决a-table表格padding过宽知识调用 文章中可能会用到的知识链接vue3ant design vuets实战【ant-design-vue组件库引入】css样式穿透&#xff08;…

基于 Traefik 的 ForwardAuth 配置

前言 Traefik 是一个现代的 HTTP 反向代理和负载均衡器&#xff0c;使部署微服务变得容易。 Traefik 可以与现有的多种基础设施组件&#xff08;Docker、Swarm 模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...&#xff09;集成&#xff0c;并自动和动态地…

【移动安全】—apk反编译基础及静态分析

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门 创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座…

逛逛JVM的“后花园“: 让我来戏弄戏弄字节吧

开篇瞎哔哔 这篇文章不打算放在任何一个系列里面&#xff0c;纯粹是个人对这方面比较感兴趣才写的&#xff0c;在日常的工作中&#xff0c;也不会用到关于这块的知识&#xff0c;但是&#xff0c;我希望如果有小伙伴和我一样&#xff0c;想对字节码杠一杠的&#xff0c;那么这…

Python pandas库|任凭弱水三千,我只取一瓢饮(5)

上一篇链接&#xff1a; Python pandas库&#xff5c;任凭弱水三千&#xff0c;我只取一瓢饮&#xff08;4&#xff09;_Hann Yang的博客-CSDN博客 S~W&#xff1a; Function46~56 Types[Function][45:] [set_eng_float_format, show_versions, test, timedelta_range, to_…

BUUCTF Misc [ACTF新生赛2020]NTFS数据流 john-in-the-middle [ACTF新生赛2020]swp 喵喵喵

目录 [ACTF新生赛2020]NTFS数据流 john-in-the-middle [ACTF新生赛2020]swp 喵喵喵 [ACTF新生赛2020]NTFS数据流 下载文件 得到500个txt文件&#xff0c;提示了NTFS流隐写&#xff0c;所以使用NtfsStreamsEditor2查看 得到flag flag{AAAds_nntfs_ffunn?} jo…

mybatis-plus代码生成器AutoGenerator

文章目录前言一、给指定的模块生成代码1.1 创建maven模块1.2 导入依赖1.3 代码生成类1.4 测试二、给指定的项目生成代码2.1 创建maven项目2.2 导入依赖2.3 代码生成类2.4 测试三、步骤区别前言 AutoGenerator 是 MyBatis-Plus 的代码生成器&#xff0c;通过 AutoGenerator 可以…

一文弄懂 React 生命周期

1. 类组件生命周期原理 React 中有两个核心阶段&#xff1a; 1.调和 (render) 阶段遍历 Fiber 树&#xff0c;通过 diff 算法找出变化的部分&#xff0c;如果是组件则会执行其 render 函数进行更新2.commit 阶段根据调和的结果去创建或修改真实 DOM 节点生命周期是贯穿在一个…

C++ Primer 课后习题详解 | 2.1.1 算术类型

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

Python pandas库|任凭弱水三千,我只取一瓢饮(6)

上一篇链接&#xff1a; Python pandas库&#xff5c;任凭弱水三千&#xff0c;我只取一瓢饮&#xff08;5&#xff09;_Hann Yang的博客-CSDN博客 DataFrame 类方法&#xff08;211个&#xff0c;其中包含18个子类、2个子模块&#xff09; >>> import pandas as p…