如果我想要展平我的所有包层次结构,我该如何处理以及有什么问题?
请注意,这个问题不是为什么我要这样做,而是如何。例如,有效理由包括(但不限于)使Proguard成为有用程序的几个原因。
首先,我想保持类名不变,但删除所有层次结构。
所以:
我做了一个快速检查,大约有一千个课程,没有两个有重复的名字:
find . -iname "*java" | sed 's/.*\///g' | sort | wc -l
和
find . -iname "*java" | sed 's/.*\///g' | sort | uniq | wc -l
都提供相同数量的 .java 文件(所以我很确定* .java文件中没有任何“重复名称”)。
我正在考虑编写一个shell脚本:
这会有用吗?
阻止这种情况发生的可能是什么?从public / protected / default / private可见性角度看会发生什么?
我想反思会在这里破坏,但幸好我们没有做任何事情。
请注意,我只想在自己的类上执行此操作:我不想修改外部API / jar。