python转写java踩坑记录
数组如何初始化
String[] words = new String[]{"1", "2"};
列表如何由单个对象初始化
Arrays.asList(obj);
列表pop方法
python列表的pop函数是弹出最后一个元素,java linkedlist的pop则是弹出第一个,要用removelast才好
字符串列表如何排序
tagList.sort(String::compareTo);
正则表达式
java用于文本处理的正则表达式
判断是否存在特殊符号
String reg = "[\\,\\,\\。\\:\\:\\?\\?\\!\\!]";
Pattern pattern = Pattern.compile(reg);
if (pattern.matcher(text).find()) {...
}
提取所有的数字(整数or浮点数)
\\d*\\.?
判断的是浮点数的整数部分以及小数点,需要获取每一段文本及其起始位置
String reg = "\\d*\\.?\\d+";
Pattern pattern = Pattern.compile(reg);
Matcher m = pattern.matcher(text)
while (m.find()) {String subText = m.group();int start = m.start();int end = m.end();
}
java和python的set在处理对象方面的异同
- 首先相同的一点是,它们都没办法将值完全相同的对象看做同一个,因为它们在内存中的地址不同,有两种解决方案,要么是自己重写equals方法和hashmap方法(在idea里面直接右键generate自动生成),要么是将其转换为string类型
- 另外,java可以在set中加入列表,但python不行
java测试
import java.util.*;
class Dog { String name;String color;public Dog(String n, String c) { name = n;color = c;} public String toString() {return name+color;}
}public class Main {public static void main(String[] args) {Dog d1 = new Dog("xiaobai", "white");Dog d2 = new Dog("xiaobai", "white");//对象集合Set s = new HashSet();s.add(d1);System.out.println(s.contains(d1));System.out.println(s.contains(d2));//字符串集合s.add(d1.toString());System.out.println(s.contains(d1.toString()));System.out.println(s.contains(d2.toString()));//列表集合List <Dog> list1 = new ArrayList<>();List <Dog> list2 = new ArrayList<>();list1.add(d1);list2.add(d2);s.add(list1);System.out.println(s.contains(list1));System.out.println(s.contains(list2));}
}
python测试
class Dog:def __init__(self, name, color):self.name = nameself.color = colordef to_string(self):return self.name+self.color
d1 = Dog("xiaobai", "white")
d2 = Dog("xiaobai", "white")
s = set() s.add(d1)
print(d1 in s, d2 in s)
s.add(d1.to_string())
print(d1.to_string() in s, d2.to_string() in s)
s.add([d1])
print([d1] in s, [d2] in s)
java如何从网页获取数据
String stringData = HttpUtil.get(url);
JSONObject jsonData = JsonUtil.fromJson(stringData);
for (String key: jsonData.keySet()) {...
}
java单例模式与getInstance()方法
java中的单例模式指的是一个类仅有一个实例,并且需要提供一个可以全局访问的接口。此时,原来的new方法就不再使用,因为它每次都要创建一个新的对象,并且只能在作用域内访问,这时就要定义一个getInstance()方法,简单的例子如下。
- 线程不安全
public class Test {//创建私有静态实例,这样就可以全局访问//初始化为null,以确保只创建一次private static Test instance = null;//创建函数设置为private类型,确保无法在外部用newprivate Test(){}//静态方法,通过判断null确保只new一次public static Test getInstance(){if (null==instance) {instance = new Test();}return instance;}
}
- 线程安全(类加载时就实例化)
public class Test {//创建私有静态实例,这样就可以全局访问private static Test instance = new Test();//创建函数设置为private类型,确保无法在外部用newprivate Test(){}//静态方法,通过判断null确保只new一次public static Test getInstance(){return instance;}
}
java与python的可变形参
python中可变形参有两种形式,*paras
将位置参数转换为元组,**paras
将关键字参数转换为字典。
java通过在类型和参数名间加入...
来把最后一个形参视为个数不确定的,编译器会在背地里把其转化为一个数组形参。
如何取对象列表中的对象属性组成的新列表
List<int> idList= Objects.stream().map(Object::getId).collect(Collectors.toList());
java中的强制类型转换
int y;
double x = (double) y;
//隐式类型转换,从低到高
double x = y;
double x = Double.valueOf(y);
python转写java踩坑记录相关推荐
- Java踩坑记录-00001 BeanCreationException
异常描述 严重: StandardWrapper.Throwableorg.springframework.beans.factory.BeanCreationException: Error cre ...
- 在linux上运行python脚本(安装pytorch踩坑记录,pyinstaller使用方式,构建docker镜像)
背景 脚本需要导入pytorch等库才能运行. 脚本在windows上运行成功,尝试放到linux上运行. linux服务器内存较小. 方法一:在linux上安装依赖 把脚本放到linux上,直接安装 ...
- python sphinx_Python Sphinx使用踩坑记录
描述 使用 pip 安装sphinx后,按照教程建立了一个新的py文件,如下 # run.py def run(name): """ this is how we run ...
- python 数字索引失败踩坑记录
原来半角和全角输入下的数字是不一样的!!!难怪我一直索引失败 找不同: 1. 半角输入下的1 # 查看ASCII码 ord('1') 输出:49 2. 全角输入下的1 ord('1') 输出:6529 ...
- VS Code Python 代码智能提示(自动补全)编译环境设置踩坑记录
VS Code Python 编译环境设置踩坑记录 本菜鸡非常喜欢VS code的简洁风格,而且跟原来再用的VS2017相比简直不要太快,前段时间电脑重装之后又要在windows系统上重新搭建整套环境 ...
- 使用Java读取 “Python写入redis” 的数据踩坑记录
https://my.oschina.net/u/2338224/blog/3061507 使用Java读取 "Python写入redis" 的数据踩坑记录 https://seg ...
- sonar覆盖率怎么统计的_实战|Java 测试覆盖率 Jacoco插桩的不同形式总结和踩坑记录(上)...
本文为霍格沃兹测试学院优秀学员关于 Jacoco 的小结和踩坑记录.测试开发进阶学习,文末加群. 一.概述 测试覆盖率是老生常谈的话题.因为我测试理论基础不是很好,这里就不提需求.覆盖率等内容,直奔主 ...
- mvn exec: java_实战|Java 测试覆盖率 Jacoco插桩的不同形式总结和踩坑记录(下)
本文为霍格沃兹测试学院优秀学员关于 Jacoco 的小结和踩坑记录.测试开发进阶学习,文末加群. 六.注意事项汇总 修改 JAVA_OPTS 参数时,如果位置不对,可能造成代理无法启动. java - ...
- 微信退款 java工具类,微信支付中退款踩坑记录
首先附上微信支付的开发者文档 其实这里所说的踩坑记录,无非就是微信在开发者文档上的写不太明确,也没有比较官方的demo,在此列出一个可行的demo,供大家下载使用. 主要问题就是在这几步解密上 微信的 ...
最新文章
- 你对象怎么找的?日本网友:国家用AI给分配的
- JS高级 - 面向对象5(继承,引用)
- Aspectj 实现Method条件运行
- Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试
- 算法题目——质量(POJ-1862)
- java 关联表做修改_java-图关联列表实现
- lazy-mock ,一个生成后端模拟数据的懒人工具
- jQuery学习之八---文档处理
- Leetcode每日一题:234.palindrome-linked-list(回文链表)
- Android——手机系统重装的备忘笔记
- gdal读写图像分块处理
- Dubbo zookeeper 初探【转】
- Mac OS 系统工具使用
- 机器学习 —— 神经网络(matlab)
- 格雷希尔Gripseal燃油管快速接头如何做密封性测试
- 基于微信的买菜小程序 毕业设计毕业论文 开题报告和效果图(基于微信小程序毕业设计题目选题课题)
- C# winform 界面美化技巧(扁平化设计)
- unity material以及各种贴图介绍
- PandoraBox潘多拉多线多播
- Wi-Fi当前的趋势及对IT和物联网的影响