鸿蒙 equals 的使用

判断字符串

判断字符串可用“==”和“equals”
提示:注意equals用不了string类型的字符串

原因

equals(other: StyledString): boolean;
equals对对象StyledString才有效果
例如:
在这里插入图片描述
class MutableStyledString extends StyledString
MutableStyledString 继承于 StyledString ,所有这个字符串对象才有equals 方法

使用“==”

在这里插入图片描述
这个的话就可以直接比较两个string类型的数据
但是:如果这样写就不行
在这里插入图片描述
这里的意思其实就是说 这很明显不相等 ,所以就报错
不过你可以这样写

txt : string = "22"
if ("11"==this.txt) {
      
    }

这样就可以了

### HarmonyOS 中 H5CallBackBean 的使用鸿蒙系统中,`H5CallBackBean` 主要用于处理 Web 页面与原生应用之间的交互回调。此对象允许开发者定义当特定事件发生时应该如何响应。 #### 创建并初始化 H5CallBackBean 对象 为了实现页面间的通信,在 JavaScript 和 Java/Kotlin 之间传递数据,首先需要创建 `H5CallBackBean` 实例: ```java // 初始化 H5CallBackBean 类型的对象 public class MyCallback extends H5CallBackBean { @Override public void onResult(String action, Map<String, Object> params) { super.onResult(action, params); // 处理来自前端的动作请求及其参数 Log.i("MyCallback", "Action received from web page:" + action); if ("saveFile".equals(action)) { handleSaveRequest(params); } } private void handleSaveRequest(Map<String,Object>params){ String base64Data = (String) params.get("data"); saveBase64ToFile(base64Data); } } ``` 上述代码展示了如何继承自 `H5CallBackBean` 并重写其 `onResult()` 方法来接收由网页发出的消息[^1]。 #### 注册回调函数至 WebView 组件 为了让 HTML 文件能够调用这个类的方法,还需要把实例注册给 `WebView` 控件: ```java webView.addJavascriptInterface(new MyCallback(), "mycallback"); // 在HTML端可以通过如下方式触发native层逻辑 window.mycallback.saveFile({ data: 'base64EncodedContent' }); ``` 这里假设有一个名为 `saveFile` 的动作被发送到了 native 层,并携带了一个键为 `"data"` 的 Base64 编码字符串作为负载。 #### 将接收到的数据保存到 Download 目录 一旦获得了 Base64 数据流,则可以根据之前提到的方式将其存储于下载目录内: ```java private void saveBase64ToFile(String base64Data) { try { byte[] decodedBytes = Base64.decode(base64Data, Base64.DEFAULT); File fileDir = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_DOWNLOADS), getPackageName()); if (!fileDir.exists()) { boolean mkdirsSuccess = fileDir.mkdirs(); if(!mkdirsSuccess){ throw new IOException("Failed to create directory."); } } FileOutputStream fos = new FileOutputStream(new File(fileDir,"example.txt")); fos.write(decodedBytes); fos.close(); Toast.makeText(getApplicationContext(),"文件已成功保存!",Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(),"保存失败:" + e.getMessage(),Toast.LENGTH_LONG).show(); } } ``` 这段代码实现了将 Base64 字符串解码成字节数组再转存入指定位置的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_43325149

如果我的分享对你造成帮助

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值